OpenCv在Visual Studio中未解决外部符号错误

我已链接到我想要使用的库,并将头文件添加到我的项目中。 并且代码在红色波形中没有显示任何错误,但是当我尝试运行它时,它给出了以下错误:

Error 1 error LNK2001: unresolved external symbol _cvDestroyWindow C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 2 error LNK2001: unresolved external symbol _cvWaitKey C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 3 error LNK2001: unresolved external symbol _cvNamedWindow C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 4 error LNK2001: unresolved external symbol _cvLoadImage C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 5 error LNK2001: unresolved external symbol _cvShowImage C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 6 error LNK2001: unresolved external symbol _cvReleaseImage C:\Users\Jos\documents\visual studio 2010\Projects\ocv\ocv\opcv.obj ocv Error 7 error LNK1120: 6 unresolved externals C:\Users\Jos\documents\visual studio 2010\Projects\ocv\Release\ocv.exe ocv 

这是代码:

 #include "highgui.h" int main(int argc, char **argv) { IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED); cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE); cvShowImage("Example1",img); cvWaitKey(0); cvReleaseImage(&img); cvDestroyWindow("Example1"); } 

好的,它终于有效了。 我的电脑是64-bit系统。 但该项目在Win32平台上运行。 所以我将其更改为x64并从Win32复制设置。

由于您使用的是最新版本的OpenCV,因此可以访问C模块

 #include  

要么

 #include "opencv2\highgui\highgui_c.h" 

假设opencv2文件夹位于Include目录列表中。

但是,我强烈建议您在OpenCV中开始使用Mat对象(而不是IplImage )和其他C ++等效项。 它将使您的生活更轻松,而且性能成本不高。

如果您在调试模式下运行,请使用调试库,否则请释放一次。 您可以在OPENCV文件夹层次结构中找到这两个版本。

您似乎没有附加highgui.lib,并且可能是legacy.lib来进行项目。 (我在文件名中省略了版本号)。