学习opencv中文版心得 第二章 例2-1

玩图像的不会opencv,真是罪过啊!书本已经买来了,赶紧用起来。刚开始用就出现问题了,oh,my god!


vs2008+opencv2.3.1+win 7


程序代码:

#include "highgui.h"


int main(int argc, char* argv[])
{
IplImage* img = cvLoadImage("lena.jpg");
cvNamedWindow("example1", CV_WINDOW_AUTOSIZE);
cvShowImage("example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("example1");
}


生成解决方案:

1>------ 已启动全部重新生成: 项目: learn_2-1, 配置: Debug Win32 ------
1>正在删除项目“learn_2-1”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>learn_2-1.cpp
1>正在编译资源清单...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>正在链接...
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _main 中被引用
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _main 中被引用
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _main 中被引用
1>learn_2-1.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _main 中被引用
1>d:\Users\legendary\Documents\Visual Studio 2008\Projects\learn_2-1\Debug\learn_2-1.exe : fatal error LNK1120: 6 个无法解析的外部命令
1>生成日志保存在“file://d:\Users\legendary\Documents\Visual Studio 2008\Projects\learn_2-1\learn_2-1\Debug\BuildLog.htm”
1>learn_2-1 - 7 个错误,0 个警告
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========


分析:

链接出现问题,说明是静态库没有被编译器找到。

因此,属性——链接器——输入——附加依赖项(debug)添加:

opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib (可根据需要删减,可是我不知道哪些需要哪些不需要就都加入了)

注意:1.行末不要加";"否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”;
  2.如果下载的OpenCV不是2.3.1版本,请将"XXX231d.lib"中的"231"更改为对应的版本号,例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“XXX.lib”。

属性——链接器——输入——附加依赖项(release)添加:

opencv_calib3d231.lib

opencv_contrib231.lib

opencv_core231.lib

opencv_features2d231.lib

opencv_flann231.lib

opencv_gpu231.lib

opencv_highgui231.lib

opencv_imgproc231.lib

opencv_legacy231.lib

opencv_ml231.lib

opencv_objdetect231.lib

opencv_ts231.lib

opencv_video231.lib (可根据需要删减,可是我不知道哪些需要哪些不需要就都加入了)

到此,问题解决!




参考文章:http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1

你可能感兴趣的:(调试,opencv)