注意:
本文使用环境和工具:
Windows10 64位专业版
VisualStudio2013
OpenCV2.4.11
笔者经过测试,使用以下环境均可:
操作系统:Win7,Win8,Win8.1
编译器:VisualStudio2010,2013,2015
OpenCV2.4.x
如果使用OpenCV3.0.0或者更新版本,由于动态链接库的变化,会导致有些步骤与下文不同!
第一步:安装OpenCV2,4,11
直接运行安装文件,将OPenCV释放到某个目录下即可,虽然笔者经过测试,使用汉语名完全没有问题,但是仍然推荐该目录使用英文名.
下面使用’(OpenCV安装目录)’来代替OpenCV的父目录.
第二步: 设置环境变量:
(OpenCV安装目录)\opencv\build\x86\vcX\bin
(OpenCV安装目录)\opencv\build\x64\vcX\bin
这两个是OpenCv所需的环境变量,需要写入到Path中,系统变量和用户变量均可,笔者推荐使用用户变量.此处需要注意的是,vcX 处,VS版本和对应文件夹的关系
VS2010--VC10
VS2012--VC11
VS2013--VC12
第三步: 项目的设置
每一个使用OpenCV的新项目在建立的时候都需要进行下面的设置,OpenCV的项目设置有三项:包含目录,库目录,附加依赖项.
如何找到这三个项目:
在解决方案管理器下,右键解决方案->属性->VC++目录:
可以看到包含目录和库目录:
在链接器->输入 中,可以看见附加依赖项:
如何设置这三个项目:
1.包含目录
包含目录就是编译器根据”#include”指令寻找头文件的地方,此处需要设置为:
(OpenCV安装目录)\opencv\build\include
(OpenCV安装目录)\opencv\build\include\opencv
(OpenCV安装目录)\opencv\build\include\opencv2
2.库目录
库目录就是编译器根据代码中的链接库指令和附加依赖项寻找外部链接库的位置,需要格外注意的是,在OpenCV2.4.X版本中,Debug和Release版本使用的库目录是不一样的,这两个不能混用或者调换否则无法通过编译.
//以VisualStudio2013,x86版本为例:
//Debug:
(OpenCV安装目录)\opencv\build\x86\vc12\lib
//Release:
(OpenCV安装目录)\opencv\build\x86\vc12\staticlib
3.附加依赖项
附加依赖项就是程序需要使用的外部库的名称,由于库目录已经指定了加载目录,所以这里只需要填写文件名就可以了,在这里填写文件名和下面的方法是等效的:
#pragma comment( lib, "opencv_calib3d2411d.lib" )
OpenCV2.4.11中所有的动态库:(Debug模式使用)
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
OpenCV2.4.11中所有的静态库:(Release版本使用)
IlmImf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib
zlib.lib
其他:
除了上面所说的设置方法,还可以使用VS的”属性管理器”,对Debug和Release模式分别建立配置文件
1.新建项目:
2.打开属性管理器:
3.为Debug添加新项目属性表:
4.打开属性表,编辑Debug模式的属性,编辑方法和上文一样.
5.同样还可以为Release添加属性,方式都一样,
6.在执行编译的时候,可以通过这个按钮切换编译要使用的属性是哪一种:
7.可以把属性表保存下来,以后建立的项目直接导入属性表,就不需要每次都配置这些东西了.