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来进行项目。 (我在文件名中省略了版本号)。