软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 研发管理 -> 为什么要使用CMake+VS编译OpenCV的源码 -> 正文阅读

[研发管理]为什么要使用CMake+VS编译OpenCV的源码


多数情况下,可以直接使用OpenCV自带的库文件,但是如果是为了方便调试:
1. 方便调试opencv源码
2. 为了与某些库兼容
还是需要重新编译opencv的源码。
OpenCV1.0版本有windowslinux之分,在 \OpenCV\_make文件夹下面已经存在了一个opencv.dsw的工程文件,直接用VC6,或者,Visual Studio就可以打开该工程,从而可以进行相应的编译工作;而对于OpenCV2.0及以后的版本而言,就没有类似的工程文件了。这个时候,就需要你自己利用CMake工具来生成一个Visual Studio的工程文件了。
CMake编译OpenCV

OpenCV的下载与安装


下载Windows下的安装文件OpenCV-2.4.3.exe,双击解压,选择需要的安装目录即可。我的存放路径为D:\opencv。
解压完成后就是需要的文件了。注意相应的目录不能包含中文。

编译OpenCV


这一步不是必须的,如果不编译,可以使用编译好的库,但是不能进行源代码的跟踪调试(未验证),因此这里还是编译一下。
编译用的工具Cmake,这是一个跨平台的安装编译工具,主要用于把OpenCV的源码生成对应的VS工程。操作如下。
 
1、如图所示,设置OpenCV的安装文件路径和想要生成的文件路径;
2、点击左下方configure,在弹出的选项中选择Visual Studio 10(对应2010版本);
3、点击完成就会进行配置,配置后的界面如下图所示,选择需要加入的文件,我这里勾上BUILD_EXAMPLES其他选项默认;
4、修改完成后再次点击configure进行配置,完成后点击Generate,至此完成配置。
[img]http://images.cnitblog.com/blog/337520/201301/27130003-119d8b9c98f74a6d8203f54eeeb368a9.png
 

使用VS2010编译版本库


以上操作完成后,就可以在生成的目录下找到对应的工程文件,根据上图配置我的文件路径为D:\OpenCV24\OpenCV.sln,使用VS2010打开,进行如下操作。
1、在Debug下,选择解决方案(解决方案资源管理器)里的 解决方案“OpenCV”,点右键,运行"重新生成解决方案";
[img]http://images.cnitblog.com/blog/337520/201301/27130009-d0175655b51c40ec988deb61a68de379.png
2、生成成功后,在选择INSTALL项目,右键运行生成;
3、在Release下进行1-2步的操作;
4、以上操作完成后,针对当前的系统的OpenCV库就生成了。

VS的相关配置


也即告诉VC去什么地方寻找OpenCV的头文件和库,打开VC,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,在VS2010中此选项打开如下图所示,显示编辑功能被否决。
[img]http://images.cnitblog.com/blog/337520/201301/27130020-3e372b2aa4414ce3a1a5438aea566746.png
可以在具体的项目中右键->属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,因此需要丛一个能够被继承的全局设置,方法如下:
1、在VS中确保至少有一个工程被打开的情况下,点击“视图”->“其他窗口”->“属性管理器”,然后从左侧任意项目中打开“Debug| Win32”->“Microsoft.Cpp.Win32.user”,如下图所示。
[img]http://images.cnitblog.com/blog/337520/201301/27130024-02f5e62cac0e40c5ac9e7473042bc5f6.png
2、在弹出如下图所示的窗口中,添加文件包含与库的路径。点击左侧VC++目录,编辑右侧的包含目录与库目录,分别添加对应的路径。
[img]http://images.cnitblog.com/blog/337520/201301/27130042-c2707c565fd54d72a77907d6ab7874e9.png
对应的路径如下:

包含目录


使用提供的库需要添加(对应我自己的安装目录,路径根据个人安装修改)
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
如果使用的是上文编译的库的路径,则添加(对应我自己的目录,路径根据个人安装修改)
D:\OpenCV24\install\include
D:\OpenCV24\install\include\opencv
D:\OpenCV24\install\include\opencv2
[img]http://images.cnitblog.com/blog/337520/201301/27130049-7ee2c060b3354b26875497dd9a4d462c.png
64为系统对应更改。

库目录


在OpenCV的安装文件中已经为VC2008和2010预先编译好了动态库与静态库,因此可以不需要编译直接添加。
针对VS2010添加(对应我自己的目录,路径根据个人安装修改)
D:\opencv\build\x86\vc10\lib
添加上文编译的库则添加(对应我自己的目录,路径根据个人安装修改)
D:\OpenCV24\install\lib
注:有的资料中说法如下:
(注:由于自己编译成功,lib文件在Debug和Release两个文件中,加载库时需到Debug和Release中, 我配置的库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib\Debug,否则调试时无法进入Open CV代码中。 by:Jackyzzy 赵振阳)

但是我的目录下并没有对应的文件夹,反而在D:\OpenCV24\lib目录下有对应的Debug文件夹,文件经过对比也一致,因此这个地方究竟添加什么地方的目前还没有验证,已经验证的同学欢迎告知我。
到这里,配置完毕,任意打开一个项目通过属性来查看,可以看到以上配置已经被继承。

设置环境变量


刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下:
自己编译的库
D:\OpenCV24\install\bin
使用提供的库(VS2010)
D:\opencv\build\x86\vc10\bin
有的资料中说由于有些函数需要使用TBB,因此需要把TBB相关也添加环境变量,但是我并没有在opencv\build\common\tbb这个路径中找到TBB文件件,在2.4.3版本中经过查找此文件夹存在与opencv\build\common\tbb 路径下,因此这部分同样未验证。
至此,就完成了OpenCV的安装与配置。






......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-03-26 16:29:39  
研发管理 最新文章
拉格朗日乘数
maven之可视化项目依赖(Visualizingdepend
mac效率工具
Atitit.css规范bem项目中CSS的组织和管理
git入门
Asimplemodelfordescribingbasicsourcesofp
Linux进程管理浅析
我的openwrt学习笔记(十九):linux便捷开
2、微控制器选择
Git使用手册:为Git仓库创建Submodule
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-16 17:23:38
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --