您的位置:首页 > 运维架构

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

2013-08-09 00:26 239 查看
玩图像的不会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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: