编译安装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版本稍长一些。

posted on 2011-10-04 16:23  LateStop  阅读(2440)  评论(0)    收藏  举报

导航