VS2015上配置opencv2.4.11版方法总结
转自:https://blog.csdn.net/u011583927/article/details/52434673
我的是win10系统64位,但是VS工程是Win32编译的。之前用VS2010,但是扩展用不了,联机库无法联网,试过了防火墙,杀毒软件,专网换了,几经周折,果断卸载。下载VS2015企业版,据说是功能最全的,但我只用VC++几个模块,看个人所需啦
安装完就要配置opencv了,之前VS2010配置的是opencv246,因为要批量读取文件夹,这里搜到了opencv2.X的都支持directory dir的调用,所以就选了opencv2.4.11,现总结在VS2015上版本的配置方法
配置的时候主要参考下面的博客:
【1】https://blog.csdn.net/poem_qianmo/article/details/19809337/
有需要的可以先看一下【1】
1.下载并运行opencv2.4.11。指定路径提取出opencv文件
官网好像下不了,这里给出网盘
链接:https://pan.baidu.com/s/1g9TSduVHRorzfUq7E71ZbA
提取码:9754
2.设置环境变量
【(右键)计算机】->【属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
我把下载好的opencv2411版本的文件夹放在了D盘,所以我设置的环境变量是D:\opencv2411\opencv\build\x86\vc12\bin
根据实际情况,build文件夹后两级的路径选取是不同的。
对于是x86还是x64?
看工程是Win32还是x64编译
以上两个都是32编译的
我是64位系统,但是Win32编译,所以选择X86
D:\opencv\opencv\build\x86\vc12\bin
你要是x64编译路径就选择x64,
例如:D:\opencv\opencv\build\x64\vc12\bin
注意:如果你最终选择的是32位编译,那么路径选择x86。
使用多少位编译指的是VS中的这里,而不是你的电脑操作系统是64位还是32位。
后面再选择x86还是x64时,也是同样的道理!!!
对于是vc10?vc11?vc12?
这里给出一个对应:vs2010=vc10,vs2012=vc11,vs2013=vc12
vs2015目前也选择vc12,后续可能opencv会更新
配置完环境变量后,建议重启电脑。Win10电脑按alt+F4
3.包含目录的配置
首先新建或者随便打开想要使用opencv的项目
点击【视图】->打开【属性管理器】
如果没有属性管理器,在【其他窗口】中查找
根据自己选择的编译方法,例如我选择Debug和x86,在【属性管理器】中点击对应的属性页,如下图:
在包含目录中添加:
D:\opencv\opencv\build\include\opencv2
D:\opencv\opencv\build\include\opencv
D:\opencv\opencv\build\include
这种方法配置的是通用属性,一次配置,一直使用
4.库目录的配置
在包含目录的下方,编辑库目录,添加:
D:\opencv\opencv\build\x86\vc12\lib
x86和vc12的选择原因同2
5.链接库的配置
对于链接库的配置,有的博客建议不要配置成通用属性,而是每个项目配一次,虽然有些麻烦,但是能避免opencv报出奇奇怪怪不好处理的错误。这里就给出每次使用单独配置的方法:
右键选择当前项目->属性
会出现与先前通用属性页一样的属性页,只不过你做的操作只针对当前项目。
进行如下图操作添加附加依赖项:
注意:我们添加的附加依赖项文件名都是d结尾的,带d的lib文件对应Debug,不带d的文件对应Release。
所以,对于选择Debug编译时,添加:
opencv_ml2411d.lib
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_objdetect2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_nonfree2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_videostab2411d.lib
对于选择Release编译时,添加:
opencv_objdetect2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_nonfree2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_videostab2411.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
6.链接器配置
我是Win32编译,所以这里要选择X86
如果你是x64,就选择x64。
参考这篇博客【2】
不然会报错:
fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突
7.VS2015带来的问题
使用VS2015会导致编译运行时报错:“缺少msvcp120d.dll”
解决方法是需要下载两个dll文件
在一个博客里找到的地址http://pan.baidu.com/s/1hqF8nlU
解压后将两个dll拷到你配置环境变量的地址对应的那个文件夹
例如我的是:D:\opencv\opencv\build\x86\vc12\bin
如果不是这个错误,说明配置的错误和使用vs2015无关,亲测~
到此如果你配置无误,opencv应该已经配置成功了,可以使用博客【1】给出的小demo测试配置是否成功。
ok,记录一下自己的配置过程,希望科研顺顺利利!
2021/2/4