2 yjfdl123 yjfdl123 于 2013.11.15 11:39 提问

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.2\opencv\build\x64\vc10\bin;D:\Program Files (x86)\opencv2.4.2\opencv\build\common\tbb\intel64\vc10

在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")
但还是运行不成功,求大神帮忙啊!!

2个回答

WillMyPower
WillMyPower   2013.11.15 16:43

确保你的连接器中包含opencv_highgui242.lib,或者直接
#pragma comment(lib,"opencv_highgui242.lib")

#pragma comment(lib,"highgui.lib")是老版本的写法

yjfdl123
yjfdl123   2013.11.22 17:34

非常感谢 ,后来 问题 解决 了
原来是配置有问题
我的电脑是win7 64位,所以在配置opencv时,我都是按照64位 进行配置的。
但是我的开发环境visual studio2012却是一直设置成win32的,所以出了很多莫名其妙的问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
OpenCv error :unresolved external symbol(链接库没有加上)
Error 如下: Linking... : error LNK2001: unresolved external symbol _cvDestroyWindow : error LNK2001: unresolved external symbol _cvLoadImage : error LNK2001: unresolved external symbol _cvReleaseCap
Opencv 等error LNK2001: unresolved external symbol
在用opencv等工具
error LNK2001: unresolved external symbol __endthreadex 解决办法
今天遇到了 error LNK2001: unresolved external symbol __endthreadex这个问题,找到的解决办法如下 没有用到beginthreadex endthreadex两个例程. 在VC中编译程序时显示 Linking... nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved ex
error LNK2001: unresolved external symbol _main解决办法
解决外部符号错误:_main,_WinMain@16,__beginthreadex [+缅? 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: ?lt;%鮩穑h?  libcmtd.lib(crt0.obj) : error LNK2001: unresolved
解决 错误:error LNK2001: unresolved external symbol _auxDIBImageLoadA@4
关于 OpenGL 的一个错误 :error LNK2001: unresolved external symbol _auxDIBImageLoadA@4           个人环境 :VC6.0 + GLUT 3.7       网上的教程一般都在    工程--设置---连接 ---常规 -- 对象/库模块 添加  opengl32.lib glut32.lib glu32.l
vc6中的一些error LNK2001 unresolved external symbol解决办法
其他地方收集来的 留着备用 解决error LNK2001 unresolved external symbol (1) vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB。 在 project-->settings-->Link-->Object/Library modules 中加入库WSOCK32.LIB即可。 在VC中进行WINSOCK的API编程
error LNK2001:unresolved external symbol __imp__@ 解决方法
我在程序Lan中使用了winsock函数,出现如下错误: Lan.obj:error   LNK2001:   unresolved   external   symbol   __imp__listen@8  Lan.obj   :   error   LNK2001:   unresolved   external   symbol   __imp__bind@12  Lan.obj
error LNK2001: unresolved external symbol ___argv 2011.10.28
error LNK2001: unresolved external symbol ___argv error LNK2001: unresolved external symbol ___argc 解决办法: PROJECT->SETING->C/C++->PREPROCESSOR->定义 _AFXDLL,完毕。
error LNK2001: unresolved external symbol _IID_ISampleGrabberCB
DIRECTSHOW编译问题 Linking... 1> Creating library Release/VideoCap.libandobject Release/VideoCap.exp 1>VideoCapCtrl.obj : error LNK2001: unresolvedexternal symbol _IID_ISampleGrabberCB 1>VideoCapC
解决error LNK2001: unresolved external symbol _CrtDbgReportW
工程在release64为下设置Runtime Libraty 为Multi-threaded DLL (/MD)可以编译通过,在debug64下同样的设置报如下错误: 1>CNxMediaFileInfoXML.obj : error LNK2019: unresolved external symbol __imp__CrtDbgReportW referenced in function