Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下
前面说了一些在OpenCV在VS2013下的配置的过程,下面说一下其中的个别的知识点,了解一下这样配置的一点点更细节的过程。其实配置项目属性的时候,有两种方式:
一、通过项目属性管理器配置项目属性表
通过Opencv x64 x86 Debug Release 全兼容属性表配置项目
新建属性表文档opencv248.props,填写下面的xml内容并保存:
<?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\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<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>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_calib3d248.lib;opencv_contrib248.lib;opencv_core248.lib;opencv_features2d248.lib;opencv_flann248.lib;opencv_gpu248.lib;opencv_highgui248.lib;opencv_imgproc248.lib;opencv_legacy248.lib;opencv_ml248.lib;opencv_nonfree248.lib;opencv_objdetect248.lib;opencv_ocl248.lib;opencv_photo248.lib;opencv_stitching248.lib;opencv_superres248.lib;opencv_ts248.lib;opencv_video248.lib;opencv_videostab248.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
这份属性表为opencv2.4.8的VS工程属性表,兼容64位和32位平台,兼容Debug和Release配置。
很容易看出如何修改:
- 如果你没有配置%OPENCV%环境变量,则只需要修改 IncludePath 和 LibraryPath 所指三个标签,用绝对路径代替$(OPENCV);
- 如果你的Visual Studio版本与我的不同,则需要修改 LibraryPath 所指两个标签的将编译器版本号,VS2010对应vc10,VS2012对应vc11,VS2013对应vc12;
- 如果你的opencv与我的版本不同,只需要将两个 AdditionalDependencies 标签内的所有lib的版本号修正即可(所有的248改为自己的版本号),并在opencv的lib目录下检查一下lib名称是否对应。
通过VS界面建立VS项目属性表
网上一大堆,就不具体说明了。与自己文本编写属性表不同的是,通过界面新建的属性表要为不同的配置单独建立,导入的时候也要针对配置单独导入。
属性管理器 ->展开 项目名 -> 右键 Debug | Win32 -> 添加新项目属性表

添加属性表,取名为“opencv248x86.Debug.props”。

属性管理器 ->展开 Debug | Win32 -> 双击 新建的 opencv248x86.Debug 打开属性页面 -> VC++ 目录

编辑 包含目录 一栏,添加opencv的include路径,例如我的是 D:\Program Files\opencv\build\include;编辑 库目录 一栏,添加opencv的lib路径,例如我的是 D:\Program Files\opencv\build\x86\vc12\lib 。

Note:
将光标移到编辑框会在右边出现小下拉三角,点击小三角,再选择编辑打开路径选择窗口选择对应路径。如果直接粘贴则粘贴在现有内容前面用分号隔开,否则会失去继承性。
Note:
库目录 一栏选择opencv的lib路径时,如果工程是64位则选择opencv的x64目录,如果是32位则选择x86。Visual Studio的版本与编译器版本号的对应关系是:VS2010 -> vc10, VS2012 -> vc11, VS2013 -> vc12,选择目录的时候注意自己的VS工程版本。
在属性页面 -> 链接器 -> 输入 -> 附加依赖项 -> 编辑。添加下面的lib列表:
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

确定两次后完成Debug版本的属性表编辑。
同样依照上面的步骤编写Release版本的属性表,唯一不同的是在“附加依赖项”中填入的是Release版本的lib列表:
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib
opencv_ml248.lib
opencv_nonfree248.lib
opencv_objdetect248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_videostab248.lib
Tip:
*d.lib的是Debug版本lib,*.lib的是Release版本lib。
二、直接在项目上设置项目的属性
首要要添加环境变量,这里就不说了。
新建VS项目,配置项目属性。接下来就是添加包含目录:
D:\Program Files\opencv\build\include
如果只包含该目录,代码文件中包含头文件注意路径即可,如
#include <opencv2/opencv.hpp>
当然你还可以包含以下两个目录
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2

2) 添加库目录
D:\Program Files\opencv\build\x86\vc11\lib
3) 添加链接器的附加依赖项
opencv_core244d.lib
opencv_imgproc244d.libopencv_highgui244d.lib
opencv_ml244d.lib
opencv_video244d.lib
opencv_features2d244d.lib
opencv_calib3d244d.lib
opencv_objdetect244d.lib
opencv_contrib244d.lib
opencv_legacy244d.lib
opencv_flann244d.lib
注意:244代表是OpenCV 2.4.4版本,刚去看了下,现在最新版本是2.4.5,根据自己的版本相应调整。
添加完需要用的.lib库文件之后,最好去相应的目录下去检查一下是否添加的这些文件都存在。
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下的更多相关文章
- Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)
http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html 2012年4月给同学写了篇傻瓜式的 VS2010+Opencv- ...
- Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
下载安装软件 下载 Opencv for Windows 最新版本,本文是 Opencv 2.4.8.双击后会出现解压提示,实际上就是“安装”了,路径填写为 D:/Program Files,然后确定 ...
- Opencv 完美配置攻略(Win8.1 + Opencv 2.4.8 + VS 2013)
- java+eclipse+tomcat+mysql+jdbc——完美配置攻略
说明: 软件均采用最新版本,请大家详细阅读,注意每个细节,无需分门别类的百度各种教程,配置java环境这一篇就够了. 所需软件及版本(参考): java8; - jdk1.8.0_60; - jre1 ...
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
1.apache 在如下页面下载apache的for Linux 的源码包 http://www.apache.org/dist/httpd/; 存至/home/xx目录,xx是自建文件 ...
- DNS 和 IPv6 配置攻略
Windows 2003 DNS配置攻略 http://lgzeng2360.blog.51cto.com/275998/161908/ http://ask.zol.com.cn/q/21861.h ...
- VS2010+Opencv-2.4.9的配置攻略
1.下载软件 vs2010入门书籍,免积分下载 http://download.csdn.net/detail/u014112584/7325617 opencv2.4.0版本号和一些样例,免积分 ...
- UML Rose2003完美破解攻略
Rational Rose 2003 软件project画图软件 ,当然还不止画图,对于那些不想用英文版Rational Rose2003的同志们.这个Rational Rose2003 版本号已经汉 ...
- Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略
在项目中,之前公司是使用IIS 7.0官方的URL重写模块,官方的使用说明请参见官方URLRewrite ,添加伪静态支持,后来经理问我有没有涉及伪静态,我说之前项目中我一直是用Intelligen ...
随机推荐
- Linux系统管理员:不要害怕升级内核
Linux系统管理员平时很重要的一项工作就是负责系统内核升级.做好系统内核的升级工作,对于Linux系 统的稳定性具有至关重要的作用.但是很少有人敢贸然的对Linux系统的内核进行升级,担心会影响现有 ...
- Codeforces 427D Match & Catch(后缀自动机)
[题目链接] http://codeforces.com/problemset/problem/427/D [题目大意] 给出一个两个字符串,求出最短且在两个字符串中唯一的公共子串. [题解] 以原字 ...
- mongoose的用法(注:连接数据库)
第一步:连接数据库: mongoose.connect('mongodb://'+user+':'+pass+'@mongo.duapp.com:'+port+'/xzWIRHYlWLAApdsfAz ...
- 导出csv文件代码示例
//当数据量达到一定级别后(大概60000以上),excel会溢出,不能全部显示,而新版的csv好像不会出现这个问题.为什么用好像,我也是听别人说,暂时没有去验证. <?php $sql = & ...
- 百度 LBS 开放平台,开发人员众測计划正式启动
Hi各位亲爱滴开发人员: 你是否以前-- 期望第一时间率先接触到百度LBS开放平台的最新功能? 期望被邀请作为最最尊贵的首批试用志愿者感受志愿者的特权? 期望自己的意见被产品经理採纳.优化功能.从 ...
- Tomcat 的context.xml
1. 在tomcat 5.5之前: --------------------------------------------------------------- Context体如今/conf/se ...
- 【技术引擎——汇聚IT思想之间的碰撞】
转载请注明作者和出处:http://blog.csdn.net/pearyangyang/article/details/40869825 谢谢. 这篇博客将记录我所学习的那些博客大牛,方面以后 ...
- C#多线程及GDI(Day 23)
又来到了总结知识的时间了,今天又学了一些新的知识,是多线程和GDI的一些运用. 理论: 在学习多线程之前,首先要了解一下什么是进程? 进程:(关键字Process)进程是一个具有一定独立功能的程 ...
- linux定时任务crontab的设置
linux定时任务crontab的设置http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html vi /etc/cronta ...
- QT中QWidget、QDialog及QMainWindow的区别
本文转自http://www.cnblogs.com/aqxin/archive/2011/05/23/2054156.html QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基 ...
