前言:
-
由于VS2013最多支持到VC12,我下了很多opencv3的其他版本,并没有支持VC12的版本,最后在opencv3.0.0中发现了VC12。
-
本文分别将在32位和64位编译器上进行配置。
环境变量配置
我们在系统变量中的Path中添加如下两个环境变量:
将x64和x86都包括进来,是为了既能够同时在32位编译器和64位编译器下编译运行opencv。
在VS中创建一个控制台工程
记得选中Console application, Empty project,不选中安全周期开发检查(SDL)
添加64位编译器的支持
打开属性管理器,View -> Other Windows -> Properties Manager
在属性管理器中,我们可以看到只有Debug|WIN32和Release | WIN32的相应属性
为了支持64位编译器,打开Config Manager,按下图依次添加即可。
此时,我们可以看到属性管理器中多了两个64位的属性
配置库文件
在属性管理器中的Debug|x64中右键新建一个属性配置文件,命名为OpencvConfig_64.props
此时我们可以看到Debug|x64下多了一个刚刚创建的属性配置文件
右键打开属性,分别配置包含目录,库目录,附加依赖
包含目录
依次添加如下三个路径:
库目录
依次添加如下两个路径,选择x64文件夹下的库目录
附加依赖:Linker --> Input --> Additional Dependencies
添加如下四个库文件:
可直接进行复制:
opencv_ts300.lib
opencv_ts300d.lib
opencv_world300.lib
opencv_world300d.lib
测试
通过上面的步骤,就已经配置好了,下面编写一个demo进行测试。
注意:由于我们是在Debug|x64下进行配置的,所以一定要选择在Debug下的64位编译器下运行,不然将会报错。
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("3.jpg");
imshow("img_name", img);
waitKey(0);
return 0;
}
结果如下:
我们可以使用相同方法对32位编译器进行配置,只是在配置库目录的时候要选择x86目录。
opencv/butil/x86/vc12/lib
opencv/build/x86/vc12/staticlib
如果我们对32位和64位都进行了配置,我们可以发现在工程目录下多了两个刚刚创建的配置文件
将这两个配置文件保存,下次创建一个新目录是就可以直接添加存在的配置文件即可,win32添加OpencvConfig_32.props,x64添加OpencvConfig_64.props。
为了方便,在创建一个新的项目的时候,可以在属性管理器的四个子目录下都添加相应的配置文件,这样无论选择的是Debug还是Realease,无论选中的是Win32还是x64,都能够正常运行。