参考文章:
http://www.cnblogs.com/yongjiuzhizhen/p/4930284.html
原因:
用codeblocks+GCC来建立opencv工程,一来熟悉源码编译的操作步骤和概念,练习使用cmake工具,二来所用的资源(codeblocks16.01,GNU GCC 4.9.2, cmake)
是免费开源的,内心不用忍受daoban的煎熬,还能锻炼自己
一、安装环境:Windows10 x64
装备工具:
1、CodeBlocks16.01
选择下图的安装包,那样的话就自带GCC 编译器了,版本是4.9.2的
2、CMake2.8.11
我一开始是用最新版的cmake3.7.1,后来编译失败就以为cmake的问题,换回了2.8.11,后来编译opencv3.1.0的时候也就一直用cmake2.8.11了,不过应该没影响。
3、OpenCV3.1.0 Source Code源码
因为是codeblocks配置,所以下载的是源码来用自带的GCC4.9.2编译器编译,如果用VS2013或者VS2015的话可以下载opencv-3.1.0.exe,他们的配置更加简单,网上也有很多文章介绍,这里不赘述了。
说明:
经过自己多次编译测试,发现Codeblocks16.01(GCC 4.9.2) 只能编译Opencv3.1.0(目前2016-12-12最新版本,2015-12-21发布),对于opencv2.4.13(2016-05-19发布)的版本,尝试了N次都失败告终,最终是在stackoverflower
相关问题上找到的答案,说编译opencv3.1.0才不会出问题(不好意思,原文网站没有保存,当时是将错误代码直接谷歌搜索的,想折腾的伙伴也可以用Codeblocks16.01(GCC 4.9.2)编译试试)。另外,我也尝试用新版本的GCC 5.1.0来编译opencv2.4.13也失败了,最终放弃opencv2.4.13~~
二、正式安装
2.1、安装前先说明几点:
1)
opencv3.1.0源代码(Source Code)解压后的文件目录:D:/Applications/OpenCV2.4.13/opencv-3.1.0
2)
新建一个文件夹D:/Applications/OpenCV2.4.13/mingw_build
,用来存放等下编译出来的文件,mingw
是 minimum GNU for windows
的意思,windows系统下的GNU GCC编译器
3)
我的Codeblocks16.01安装目录:
"D:\Applications\Codeblocks16.1\CodeBlocks"
Codeblocks自带的MinGW目录:
"D:\Applications\Codeblocks16.1\CodeBlocks\MinGW"
4)
在系统环境变量添加MinGW路径:
2.2、
打开cmake,浏览源代码目录和编译文件存放的目录
点击 configure
进行配置,选择如图:
正常情况下是不会出错的,完成后如图:
过程中也有一些提示failed
的,不用管他,对最后编译没影响
完成后点击generate
,最好不要修改编译的选项,我试过修改后编译失败的
2.3、进入存放编译文件的目录:"D:\Applications\OpenCV2.4.13\mingw_build"
,打开CMD控制台,方法如下:
2.4、命令行输入mingw32-make
这个过程很漫长,我的运行了接近一个小时,所幸的是GCC4.9.2能够成功编译opencv3.1.0,完成后输入mingw32-make install
至此就完成了最主要的编译工作,我自己的电脑环境是没有出现什么错误了,包括后来编译opencv程序都还没出现什么错误。
2.5、进入mingw_build
目录
最重要的是bin,install\include,lib
这三个文件夹,有的教程说把bin
这个目录也加入环境变量的Path
中,但是我没有也不碍事
2.6、现在可以新建opencv工程了,可以直接建立一个控制台程序,然后编译的时候修改build option
编译选项,也可以直接新建opencv工程:
2.7、修改编译选项:
当出现以下提示时,选择是
或者 否
都没影响
前面配置的是release发行版,对于配置debug,可以如下操作:
2.8、编译、执行代码:
先编译一下,没有错误,然后点击运行,或者点击编译运行,亦或者按F9进行编译运行,第一个codeblocks下得到opencv工程便建立了,用这个免费开源的软件,自己动手编译当然比用DB的VS2013或者其他编译器强多了!