vs2013怎样实现opencv一次性配置

如题所述

说白了就是将VS第一次配置OpenCV的项目属性表保存下来,每次新建项目时引用即可。
目录

解压OpenCV
配置系统环境变量
创建VS新项目
添加项目属性表
配置项目属性表
引用项目属性表

声明:


下展示内容,配置方案为OpenCV2.4.9+VS2013+win10+x64,但方法适用于OpenCV2.4.8、OpenCV2.4.9、
OpenCV2.4.10,适用于win7、win8.1、win10,适用于x64和x84(下面会讲解如何对应修改)。如果问为什么适用?因为我都试
过啊~

会一次性配置的知友请直接看第四部分和第六部分,因为其余部分跟一次性配置是一样的。

一、解压OpenCV
比如本人解压在G盘根目录下

二、配置系统环境变量

打开“系统属性”,点击“环境变量”

双击Path的值部分

填上OpenCV的bin路径

注意:
1、此时电脑最好重启下。
2、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。(感谢 @吴信仰 的指正和解惑。)
3、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。

三、创建VS新项目

四、添加项目属性表

“视图”打开“属性窗口”

右击“Debug|Win32”点击“添加新项目属性表”(如果想在Release模式下使用OpenCV,右击Release|Win32,同理可得)
给属性表命名

五、配置项目属性表

双击创建的属性表

5.1添加包含目录

5.2添加附加库目录

注意:
1、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。
2、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。

5.3添加附加依赖项

附加依赖项如下:
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib

注意:
1、249对应OpenCV2.4.9,其他版本做对应修改。
2、后缀d代表Debug模式,如果是Release模式去掉d。依个人情况选择Debug模式或者Release模式。

六、引用项目属性表

打开项目目录,你会看到如下文件

以后新建项目时,打开属性管理器,右击Debug|Win32选择添加现有属性表上述文件即可。

========================

以上,应该算VS一次配置永久使用OpenCV了^ ^

编辑于 2016-05-13

12 条评论

感谢

分享

收藏



没有帮助


举报



作者保留权利

ZZ Chris

,在野武将

18 人赞同

不同意vczh的做法,遇到需要切换opencv版本的情况太麻烦。
请认准属性表,一次编写,到处使用,系统环境变量你都不需要设定,所有设定都写在属性表文件中,用的时候在vs里导入属性表。如果要切换opencv版本,只修改opencv编译输出目录就可以了。

比如OpenCV3.0版的,可以命名为opencv300.props:

<?xml version="1.0" encoding="utf-8"?>
<!--
OpenCV 3.0.0属性表文件
不用单独配置环境变量OpenCV
也不用单独在系统PATH上添加OpenCV可执行路径
只需要在VisualStudio-"菜单"-"视图"-"属性管理器"中添加现有属性表,添加本文件

使用前请将下面的OpenCVRoot修改为你的OpenCV编译输出目录
-->

<Project ToolsVersion="4.0" xmlns="">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>

<!-- 请把OpenCVRoot属性的值替换为你的OpenCV编译输出的目标目录,它包含x64、x86这样的子目录 -->
<OpenCVRoot>D:\lib\opencv300\build</OpenCVRoot>

<!-- 指定INCLUDE路径-->
<IncludePath>$(OpenCVRoot)\include;$(IncludePath)</IncludePath>

<!-- 指定链接所需lib目录-->
<LibraryPath Condition="'$(Platform)'=='Win32'">$(OpenCVRoot)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OpenCVRoot)\x64\vc12\lib;$(LibraryPath)</LibraryPath>

<!-- 保证系统处于Debug模式时,可以使用相对路径读取源代码目录下的文件,比如"lena.jpg"而不必是"d:/work/test/test/lena.jpg" -->
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>

<!-- 让系统PATH临时包含指定的dll目录 -->
<LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'">PATH=%PATH%;$(OpenCVRoot)\x86\vc12\bin</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'">PATH=%PATH%;$(OpenCVRoot)\x64\vc12\bin</LocalDebuggerEnvironment>
</PropertyGroup>

<!-- 以下是程序需要加载的lib文件。-->
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么每次打开VS,都要重新配置opencv才能编程
以我之见,向附加依赖库中添加库文件需要每次配置;向包含目录和库目录中添加目录可以一次性完成,方法如下:在“视图”中打开“属性管理器”—>点击文件夹(Debug|Win32或Release|Win32)—>双击Microsoft.Cpp.Win32.user—>分别向包含目录和库目录中添加目录即可 ...

一次搞定OpenCV源码及扩展模块的编译与环境配置
4、 基于面结构光的高反射物体重建方法(相位偏折术)

相似回答