opencv hello.obj : error LNK2001: unresolved external symbol _cvNamedWindow

发布于 2020-05-05  52 次阅读


问题描述:

使用的是vs2012 ultimate 和opencv2.4.2,配置基本成功,配置情况贴在后面

源程序如下:

#include

#include

//#pragma comment(lib,”cv.lib”)

//#pragma comment(lib,”highgui.lib”)

int main()

{

cvNamedWindow(“my window”,1);

return 0;

}

环境配置都是正常的:

在环境变量中配置:D:Program Files (x86)opencv2.4.2opencvbuildx64vc10bin;D:Program Files (x86)opencv2.4.2opencvbuildcommontbbintel64vc10

在vc++包含目录中配置

库目录中配置

连接器的附加依赖项中配置如下:

opencv_calib3d242.lib

opencv_contrib242.lib

opencv_core242.lib

opencv_features2d242.lib

opencv_flann242.lib

opencv_gpu242.lib

opencv_haartraining_engine.lib

opencv_highgui242.lib

opencv_imgproc242.lib

opencv_legacy242.lib

opencv_ml242.lib

opencv_nonfree242.lib

opencv_objdetect242.lib

opencv_photo242.lib

opencv_stitching242.lib

opencv_ts242.lib

opencv_video242.lib

opencv_videostab242.lib

当然debug和release都进行了如此的配置,debug下多一个字母d

以前也是如此配置,基本成功,但是这次始终成功不了,总是出现问题如下:

hello.obj : error LNK2001: unresolved external symbol _cvNamedWindow

网上找了很多种解决方案都不奏效:

1说连接器和库不匹配

2说没有cv.lib 和higugui.lib几个文件,所以添加了

#pragma comment(lib,”cv.lib”)

#pragma comment(lib,”highgui.lib”)

但还是运行不成功


解决方法:

是配置有问题

电脑是win7 64位,所以在配置opencv时,都是按照64位 进行配置的。

但是开发环境visual studio2012却是一直设置成win32的,所以出了很多莫名其妙的问题


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。