您的位置:首页 > 运维架构

win7 64位下VS2010和opencv 2.4.11的配置

2015-12-30 13:33 405 查看
先贴上参考文献:

1. http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html
2. http://blog.csdn.net/morewindows/article/details/8225783/
3. http://zhidao.baidu.com/link?url=-5zunOvY_oPN4O5UpYHQm1GGpI7Y-CJBN-2C2VnZYAgQsmNBzTXU7JycgSACaV3Z8Ru5OaVdeucfxdW0WcbJlK
4. http://bbs.csdn.net/topics/380057699
正文

Opencv下载

1. 下载 Opencv for Windows 最新版本,本文是 Opencv 2.4.11。双击后会出现解压提示,实际上就是“安装”了,路径填写为 D:/Program Files,然后确定。

D:/Program Files 可以为任意自己希望opencv安装的路径,解压完成后,会在你所填目录中新增一个 opencv文件夹,里面就是opencv的所有内容了。例如按照我的路径,解压完成后Opencv就在 D:/Program Files/opencv 里面了。

环境变量设置

在系统变量里面新建变量,名为 opencv,值为自己解压opencv路径下的build路径,如 D:\Program Files\opencv\build。



这里写图片描述

Tip :这一步是方便以后如果opencv路径改变了,只需要修改此变量就可以了,而不必做大范围修改。

在系统变量里面编辑 Path 变量,在末尾添加” %opencv%\x86\vc10\bin;%opencv%\x64\vc10\bin”或者

“D:\Program Files\opencv\build\x64\vc10\bin;D:\Program Files\opencv\build\x86\vc10\bin”.

vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。(有时候填写完环境变量后重启系统是个不错的方法)。

编写Opencv的VS工程容属性表

在D:\Program Files\opencv下新建文件opencv2411.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>

<IncludePath>$(OPENCV)\include;$(IncludePath)</IncludePath>

<LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)\x86\vc10\lib;$(LibraryPath)</LibraryPath>

<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc10\lib;$(LibraryPath)</LibraryPath>

</PropertyGroup>

<ItemDefinitionGroup>

<Link Condition="'$(Configuration)'=='Debug'">

<AdditionalDependencies>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_ml2411d.lib;opencv_nonfree2411d.lib;

opencv_objdetect2411d.lib;opencv_ocl2411d.lib;opencv_photo2411d.lib;opencv_stitching2411d.lib;

opencv_superres2411d.lib;opencv_ts2411d.lib;opencv_video2411d.lib;opencv_videostab2411d.lib;

%(AdditionalDependencies)

</AdditionalDependencies>

</Link>

<Link Condition="'$(Configuration)'=='Release'">

<AdditionalDependencies>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;opencv_nonfree2411.lib;opencv_objdetect2411.lib;opencv_ocl2411.lib;opencv_photo2411.lib;

opencv_stitching2411.lib;opencv_superres2411.lib;opencv_ts2411.lib;opencv_video2411.lib;opencv_videostab2411.lib;

%(AdditionalDependencies)

</AdditionalDependencies>

</Link>

</ItemDefinitionGroup>

<ItemGroup />

</Project>

这份属性表为opencv2.4.11的VS工程属性表,兼容64位和32位平台,兼容Debug和Release配置。

很容易看出如何修改:

如果你没有配置%opencv%环境变量,则只需要修改 IncludePath 和 LibraryPath 所指三个标签,用绝对路径代替 $(opencv);

如果你的Visual Studio版本与我的不同,则需要修改 LibraryPath 所指两个标签的将编译器版本号,VS2010对应vc10,VS2012对应vc11,VS2013对应vc12;

如果你的opencv与我的版本不同,只需要将两个 AdditionalDependencies 标签内的所有lib的版本号修正即可(所有的2411改为自己的版本号),并在opencv的lib目录下检查一下lib名称是否对应。

在VS中新建工程并导入我们新建的属性表opencv2411.props

具体操作请参考

Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013) | Yuanbo She
http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html
补充

编译程序时如若遇到以下问题,请参阅本文开始的参考文献中的相关链接

1. 应用程序无法正常启动0xc000007b

2. fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: