2013-07-21 106 views
7

这是我在Visual Studio C++LNK2019:在Visual Studio解析外部符号错误C++

#include "stdafx.h" 
#include<opencv\cv.h> 
#include<opencv\highgui.h> 

using namespace cv; 

int main(int argc, char** argv[]) { 
    IplImage* img = cvLoadImage("logo.jpg"); 
    cvNamedWindow("Test", CV_WINDOW_AUTOSIZE); 
    cvShowImage("Test", img); 
    cvWaitKey(0); 
    cvReleaseImage(&img); 
    cvDestroyWindow("Test"); 
    return 0; 
} 

我使用OpenCV的2.4.6和Visual Studio 2010的代码这是错误:

openCV_testing.obj : error LNK2019: unresolved external symbol _cvDestroyWindow 
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvReleaseImage  
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvWaitKey referenced in 
function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvShowImage referenced 
in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvNamedWindow  
referenced in function _main 
openCV_testing.obj : error LNK2019: unresolved external symbol _cvLoadImage referenced 
in function _main 

请帮忙。

+0

检查此http://stackoverflow.com/a/11783731/624003 – Sankumarsingh

回答

13

'无法解析的外部符号'表示您没有链接到所需的库。 转到properties-> linker->附加库依赖关系,并添加opencv库的路径。

0

我搜索了很多相同的问题,这是我找到的最好的解决方案,它为我工作。

打开配置属性> C/C++>一般,和编辑字段附加包含目录来添加这些3条路径(头):

C:\ OpenCV2.3 \构建\包括\的OpenCV

C:\ OpenCV2.3 \编译\包括\ opencv2

C:\ OpenCV2.3 \编译\包括

5

这些添加到你的代码:

#pragma comment (lib, "opencv_core248d.lib") 
#pragma comment (lib, "opencv_highgui248d.lib") 
#pragma comment (lib, "opencv_imgproc248d.lib") 
#pragma comment (lib, "opencv_video248d.lib") 
#pragma comment (lib, "opencv_features2d248d.lib") 

它为我工作。

+0

这样做......但为什么?编辑:这帮助解释它:http://stackoverflow.com/questions/3484434/what-does-pragma-comment-mean – shim

相关问题