问题描述
- opencv hello.obj : error LNK2001: unresolved external symbol _cvNamedWindow
-
使用的是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")
但还是运行不成功,求大神帮忙啊!!
解决方案
确保你的连接器中包含opencv_highgui242.lib,或者直接
#pragma comment(lib,"opencv_highgui242.lib")
#pragma comment(lib,"highgui.lib")是老版本的写法
解决方案二:
非常感谢 ,后来 问题 解决 了
原来是配置有问题
我的电脑是win7 64位,所以在配置opencv时,我都是按照64位 进行配置的。
但是我的开发环境visual studio2012却是一直设置成win32的,所以出了很多莫名其妙的问题