使用openCV时出错LNK2019和LNK1120

时间:2014-01-15 08:32:54

标签: c++ opencv

我从讲师那里得到了一个程序,代码是:

#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, char* argv[])
{
printf("Hit ESC key to quit ...\n");
cv::VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) { // check if we succeeded
printf("error ‐ can't open the camera\n");
system("PAUSE");
return 1;
}
double WIDTH = cap.get(CV_CAP_PROP_FRAME_WIDTH);
double HEIGHT = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
printf("Image width=%f, height=%f\n", WIDTH, HEIGHT);
// Create image window named "My Image". (You actually don't have to do
// this step, but this command allows you to set properties of the window,
// such as its location, or whether you can resize it.)
cv::namedWindow("My Image");
// Allocate images
cv::Mat imgInput(
cv::Size(WIDTH,HEIGHT), // specify size
CV_8UC3, // specify type: CV_8UC3=8bit, unsigned, 3 channels
cv::Scalar(0)); // initialize to this value (optional)
// Run an infinite loop until user hits the ESC key
while (1) {
cap >> imgInput; // get image from camera
// Show the image in the window
cv::imshow("My Image", imgInput);
// wait for x ms (0 means wait until a keypress)
if (cv::waitKey(1) == 27)
break; // ESC is ascii 27
}
return EXIT_SUCCESS;
}

但是当我编译时我收到这些错误

错误LNK2019:函数“void __cdecl std :: _ Debug_message(wchar_t const *,wchar_t const *,unsigned int)”中引用了未解析的外部符号__CrtDbgReportW“(?_ Debug_message @std @@ YAXPB_W0I @ Z)C:\ Users \ LENOVO \ Desktop \ Tugas \ Smst6 \ Citra \ lab2 \ lab2 \ libcpmtd.lib(stdthrow.obj)lab2

错误LNK1120:1个未解析的外部C:\ Users \ LENOVO \ Desktop \ Tugas \ Smst6 \ Citra \ lab2 \ Debug \ lab2.exe 1 1 lab2

即时通讯使用visual studio 2010和openvc 2.4.8

2 个答案:

答案 0 :(得分:0)

检查msdn是否有描述error LNK2019,我在应用程序开发时遇到了这种错误,在简要分析中也发现了项目vcxprojs文件中的错误,在我看来它已经损坏了。在使用代码之前,您还在机器上完成了Opencv的设置。如果是,那么可能与vcxproj有关。如有任何问题,请告诉我。

答案 1 :(得分:0)

您是否正在使用CMake进行构建和配置?如果是这样,您可能需要修改它以包含库。 对于lnk1120错误,检查您的其他依赖项,您可能错过了一个库。

lnk1120 MSDN

lnk2019 MSDN

另见 - I'm getting LNK2019 errors using SDL 2.0.1 in Visual Studio 2013