快速配置vs2012+opencv

时间:2023-03-10 00:43:30
快速配置vs2012+opencv

关于OpenCV+Windows+VS配置的文章网上有很多,多是类似 OpenCV中文网 上的安装方法。 
不管什么方法,配置的步骤毫无疑问是: 
1. 配置环境变量, 
2. 配置VS。 
在这个过程中,令人烦的是不停地打开一个个窗口设置来设置去。如何减少这些繁琐的操作呢?

一. 批处理方法配置环境变量。

这里主要用到’setx‘命令,相关详见 微软帮助文档 。下面给出代码,

@echo off
echo 设置OpenCV路径为系统环境变量
setx /m OPENCV_DIR "D:\Program Files (x86)\OpenCV-2.4.8\build"
setx /m OPENCV_INCLUDE "%OPENCV_DIR%\include"
setx /m OPENCV_LIB "%OPENCV_DIR%\x86\vc11\lib"
setx /m OPENCV_DLL "%OPENCV_DIR%\x86\vc11\bin" echo 将OpenCV动态链接库目录添加到系统路径
echo %PATH% | find "%OPENCV_DLL%"
if %ERRORLEVEL% == setx /m PATH "%PATH%";"%OPENCV_DLL%" pause

将代码保存到文件setEnvironmentVariable.bat,双击运行该文件就可以完成环境变量的设置,必要的时候需要管理员权限。 
注1:代码中环境变量的地址,根据程序安装目录不同、需求不同进行调整。

二. 局部方法+属性表,配置VS2012。

该步骤的一般性实施方法可参考 OpenCV官网 中的Local Method。VS的配置参数,是保存在*.props中的,所以对VS的配置我们只需生成相关的props文件即可。按上述环境变量配置,该文件内容为:

    <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(OPENCV_INCLUDE)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(OPENCV_LIB)</AdditionalLibraryDirectories>
<AdditionalDependencies>opencv_calib3d248d.lib;opencv_contrib248d.lib;opencv_core248d.lib;opencv_features2d248d.lib;opencv_flann248d.lib;opencv_gpu248d.lib;opencv_highgui248d.lib;opencv_imgproc248d.lib;opencv_legacy248d.lib;opencv_ml248d.lib;opencv_nonfree248d.lib;opencv_objdetect248d.lib;opencv_ocl248d.lib;opencv_photo248d.lib;opencv_stitching248d.lib;opencv_superres248d.lib;opencv_ts248d.lib;opencv_video248d.lib;opencv_videostab248d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

将以上内容保存到OpenCV_Debug.props。在我们今后用到OpenCV的项目工程中,选择属性管理器,点击对应工程名下的Debug标签,右键,选择添加现有属性表,添加刚刚保存好的OpenCV_Debug.props即可。

注1:所需的静态库名称,根据需求进行调整。 
获取所有静态链接库文件名的一个快捷方法是,在文件所在目录,打开命令窗口,运行

  dir /b \*d.lib | clip

可以把目录下符合*d.lib格式的文件名copy到剪切板。

注2:Release版本属性表同样设置,注意静态库的名字要修改为Release版本。

至此,大功告成。赶快运行程序测试一下。