CMake编译Opencv自带源码及程序形成工程并运行教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CMake编译Opencv自带源码及程序形成工程并运行教程
本教程基于/2014/09/66490.html,感谢网友的贡献,本教程首先回顾一下网友的教程,重点在于解决网友没有提到的各种问题(第5章),因此前四章,大家也可以看原网址上提供的内容。
声明:纯粹经验之谈,重点是解决问题,若有理解错误,请多包涵~~
一直很想直接打开运行opencv自带的示例程序,或者看看里面一些函数的源码,奈何opencv库里面给出的都是源文件,直接打开不能运行,没有编译形成VS中的工程方案,所以要看时,只得自己新建工程,然后复制过去,先不说麻烦,就算真弄过去了,还不一定能运行,因为它还可能有依赖项什么的问题(猜的),总之不一定能够顺利运行。后来听说可以用CMake对其进行编译,可以形成VS中的工程方案,然后直接就可以打开运行了,这当然方便多了,于是就有了下面的东西~~~
1下载及安装CMake
在写本教程的时候,CMake最新版本为CMake3.4.1,下载网址为:https:///download/,CMake有很多的发行版本,具体有哪些,作为一个小白,也不懂什么,只是知道其中有分source和binary两种版本,前面的那个版本貌似是对应源码版本,也就是给的是CMake的源码,如果我们要用它去编译其他如opencv的源码,那得先编译CMake的source文件,然后还要写CMakeList.txt(相当于是通过编程来实现编译其他文件,本人这么理解,若有误,莫怪~),这么复杂,对我来说,肯定不想要;因此,我选择了binary版本(直接是二进制文件,已经编译好了,并形成了可执行程序),下载之后是一个.exe文件,这个就好办多了,下载下来,点击运行一顿安装就可以了~~~
开始进入正题~~~
下面摘录一段关于CMake的介绍(摘自教程开头的网址):
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C 特性,类似UNIX下的automake。只是CMake的组态档取名为CmakeLists.txt。Cmake并不直接建构出最终的软件,而是产生标准的建构档(如Unix 的Makefile或Windows Visual C 的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake
和SCons等其他类似系统的区别之处。
CMake可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake支援in-place 建构(二进档和源代码在同一个目录树中)和out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake也支持静态与动态程式库的建构。
“CMake”这个名字是“Cross Platform Make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。
通过以上介绍我们知道,我们可以用CMake这个工具将源码编译成VS2010的工程文件,使得我们可以在VS下以不同项目组的形式构建多个样例或者教程工程。
我们可以在CMake的官网:
/cmake/resources/software.html 上找到最新版本的CMake安装文件。
至于为什么选择的是win32-x86.exe,很多人也许有疑惑,我明明是x64的电脑,怎么选择这个呢,其实我也不太懂,这里只能鼓起勇气说几句,如果我们
稍微留意点的话,会发现,我们经常建立的.cpp程序都是win32(x86)控制台应用程序是吧,我一直纳闷,为什么是这个呢?我想可能是编译器是对应这个型号的吧,这玩意好像一直到VS2013都是只有win32(x86)对应的编译器,但到了VS2015,就不一样了,即有win32对应的编译器,还有x64对应的编译器(也即向前兼容),嗯,我只能说这么多了,而且还不知道对不对,总之,本教程只是经验之谈,涉及到的理论部分,纯粹是为了补补边,大家觉得正确就接受,有错误的话,请原谅~~
选择文件“CMake-3.0.1-win32-x86.exe”下载,一共10.78MB,很快可以下完。
下载完成后,双击安装程序,即可开始CMake的安装。
安装很简单,基本上就是“下一步”,直至最后一步“完成”。
我的习惯,肯定要创建桌面快捷方式了,这样方便啊~~当然可能不经常用,那也可以随时删~~~
发现上面这个图没有,CMake好强大,自动识别并列出你有的一些程序,当然有你的VS了~~~
安装完成后,可以在“开始”菜单中找到已经安装好的CMake3.0.1程序的快捷方式"CMake (cmake-gui)"。当然,之前已经有选择创建快捷方式,安装之后,桌面上就有快捷方式。
安装好了以后,下面开始进行OpenCV源码的编译。
2OpenCV2.4.9源码编译
这里假设我们已经将OpenCV2.4.9的源码下载并且安装好了。(如果这一步不知道怎么做,请参看本人另一个教程《学习OpenCV的学习笔记系列(一)环境配置》)。(这是原网友的话,我之前也写过一个关于各Opencv与各版本VS配置的教程,可以在百度文库搜索《OpenCV在Visual Studio中的属性表配置方法(通用)》),如下图示。
在“开始”菜单中点击“CMake (cmake-gui)”,打开CMake程序,此时将弹出编译设置界面。如下图所示。
在"Where is the source code"选项的文本框中输入OpenCV源码所在的目录路径(opencv文件提取的位置),可以点击"Browse Source…"选择文件夹,请根据源码安装的实际位置选择路径,此处选择的是"H:/opencv/sources"。