这里以VS2013和OpenCV2.4.12为例。首先将OpenCV下载安装好,配置的过程可以分为两个步骤:一是设置环境变量;二是配置项目属性表。

本文总结了网上所有的配置方式,设置环境变量这一步都一样,差异出现在配置属性表这一步上。因为修改属性表的位置不同,所以这里分为3种方式。


设置环境变量


首先设置环境变量。右击"我的电脑",单击"属性",打开一个页面。找到"高级系统设置",单击,出现系统属性页。单击"环境变量",即出现环境变量修改页。在"系统变量"下面找到Path。双击编辑Path,将OpenCV安装目录的bin目录添加进去。比如 D:\opencv\build\x86\vc12\bin;




vscode 搭建opencv环境 visual studio code配置opencv_opencv




注意这里的x86和x64的区别,分别代表32位和64位编译。vc12即VS2013使用的编译器。






配置属性表

在Visual Studio创建的项目中配置OpenCV开发环境,包含3块内容,即把OpenCV的包含目录、库目录,库文件(附加依赖项)添加进来。这个操作在属性表中进行。一个属性表,长如下图这样。


vscode 搭建opencv环境 visual studio code配置opencv_vscode 搭建opencv环境_02


添加OpenCV包含目录和库目录:在属性表中找到"VC++目录",然后分别找到"包含目录"和"库目录"两项,把OpenCV安装路径的对应目录添加进去。OpenCV的包含目录,例如D:\opencv\build\include;D:\opencv\build\include\opencv2;D:\opencv\build\include\opencv;有3个路径都要添加进去。

OpenCV的库目录,例如D:\opencv\build\x86\vc12\lib。同样需要注意x86和vc12所代表的含义。

添加OpenCV的库文件:在属性表中找到"链接器",点开选择"输入",找到"附加依赖项",进行编辑。对于OpenCV2.4.12,把如下库文件的名称添加进去。

opencv_calib3d2412d.lib
opencv_contrib2412d.lib
opencv_core2412d.lib
opencv_features2d2412d.lib
opencv_flann2412d.lib
opencv_gpu2412d.lib
opencv_highgui2412d.lib
opencv_imgproc2412d.lib
opencv_legacy2412d.lib
opencv_ml2412d.lib
opencv_nonfree2412d.lib
opencv_objdetect2412d.lib
opencv_ocl2412d.lib
opencv_photo2412d.lib
opencv_stitching2412d.lib
opencv_superres2412d.lib
opencv_ts2412d.lib
opencv_video2412d.lib
opencv_videostab2412d.lib

可以看到,2412代表了版本号信息。其中的d代表DEBUG模式;如果使用到RELEASE模式,去掉d即可。上面的库文件名称都可以在上面添加的OpenCV库目录下找到,例如D:\opencv\build\x86\vc12\lib。


属性表的位置


根据属性表创建的位置不同,分为3种方式。具体使用哪种方式,你需要确定属性表生效的范围,以及视方便程度而定。




方式一:直接在单个项目中添加


在一个Visual Studio项目中,菜单栏中依次点击"项目","属性",打开一个属性页,然后编辑;配置过程已经讲过了。






vscode 搭建opencv环境 visual studio code配置opencv_vscode 搭建opencv环境_03




这种方式完全可以解决问题了。但缺点是如果再新建一个项目,想要OpenCV开发环境,则必须要重新配置一次。虽然配置属性表并不复杂,但对于新手来说这是一个令人头大的问题。




方式二:保存好一个项目属性表


首先需要打开属性管理器,工作区没有显示的话,在菜单栏中点开"视图",就可以找到。




vscode 搭建opencv环境 visual studio code配置opencv_属性表_04




分别在Debug|Win32和Release|Win32处右击选择"添加新项目属性表",创建好就会出现熟悉的属性表编辑页,配置过程一样。


添加的时候,这两个后缀为.props的文件会保存起来。


方便起见,比如我将文件分别命名为OpenCV2412_VC12_Debug和OpenCV2412_VC12_Release,保存在一定的目录下。


等下次新建项目,需要用到OpenCV的时候,就选择"添加现有属性表"”即可。




vscode 搭建opencv环境 visual studio code配置opencv_属性表_05




这种方式比较方便,灵活性好。




方式三:更改Microsoft.cpp.Win32.user的内容


和方式二一样,需要打开"项目属性表"。展开列表,双击Microsoft.cpp.Win32.user,直接更改属性内容。注意Debug和Release模式的不同。




vscode 搭建opencv环境 visual studio code配置opencv_2d_06




因为 这个属性表是任意新建一个工程项目都会带着的,所以无需重新配置,即使你建的项目跟OpenCV无关。


这种方式有点简单粗暴,一劳永逸。但一个与OpenCV无关的项目,还带着OpenCV配置,对于一个强迫症来说,这是无法接受的。所以我选择方式二。