编译安装OpenCV2.2并与vs2005配置
参考文档
1.OpenCV论坛的安装文档之“VC 2008 Express下安装OpenCV2.0/2.1”
http://www.opencv.org.cn/index.php/Template:Install
2.在上述安装文档开始指明的:官方安装文档。
http://opencv.willowgarage.com/wiki/InstallGuide
我用的是vs2005和Opencv2.2。显然论坛上的2008不能满足我的需求,官方给出只有针对2
010的安装包,为了避免日后出现什么诡异的问题,还是自己编译好。在WIN
下编译安装软件还是比较方便的,不像在LINUX下需要频繁的安装各种依赖库/包。只要
你有:
1.vs2005(你用什么都可以)
2.CMake()
3.OpenCv源码
就可以了。
一 生成vs2005的工程文件
1.按照第一个参考文档进行,编译后没有生成dll文件。
a.仔细想了想,显然是generate工程文件时,有些选项给弄错了。(BUILD_SHARED_LIBS没有选)
2.第二次的问题是多选了python支持,我的机子装的python环境可能不对。报错了。(BUILD_NEW_PYTHON_SUPPORT选了)
而我不需要这个支持。所以直接把该选项关掉即可。
上图:

二 需要关心的生成的目录:
$SourceCode/$vs2005Forme/bin(这里是dll文件)
--Debug
--Release
$SourceCode/$vs2005Forme/lib(这里是.lib文件)
--Debug
--Release
$SourceCode/$vs2005Forme/include(这里是.h文件)
--opencv
--opencv2(这是2.0以后产生的新目录)
三 对于vs2005的配置。(编译后最关心就是这个了,能运行程序才行)
配置参考的是第二个文档的
4) Configure your own projects to use OpenCV
Visual Studio
Building your own projects using OpenCV 2.2 in Visual Studio
无非是加入两个部分:
在菜单——工具——选项——VC++目录
a.加入需要包含的头文件
b.加入需要包含的lib文件
c.在工程(不是解决方案)右击——属性——配置属性——链接器——输入——附加依赖项里填入:
opencv_core220d.lib opencv_highgui220d.lib opencv_video220d.lib opencv_ml220d.lib opencv_legacy220d.lib opencv_imgproc220d.lib
也就是生成的lib文件
其中第三步可以通过在程序中加入:
#pragma comment(lib,"opencv_xxxx")
语句实现。推荐这种方法,因为程序可以到别的地方运行。
不然会出现:
error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _wmain 中被引用
error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _wmain 中被引用
error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _wmain 中被引用
error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _wmain 中被引用
error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _wmain 中被引用
error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _wmain 中被引用
类似的错误。——没什么好担心的。
另:
1.按照中文文档的说明,需要先全部生成,再对Install项目进行生成,其作用是:
将生成的lib文件从$SourceCode/$vs2005Forme/lib目录下的Debug和Release目录
里拷贝至上一层目录。即从$SourceCode/$vs2005Forme/lib。
编译的时候看着这两个目录的变化会更直观。
2.原来的命名方式有所改变,在前面加上了opencv_的前缀。
对于原来cv.xxx开头的文件,被命名为opencv_imgproc220.lib
即加上了前缀,又将cv--imgproc。
3.我的机子SL410,CPU为T6570.将生成的工程编译一遍需要5分钟。Release版本稍长一些。
浙公网安备 33010602011771号