Codeblocks + opencv + Cmake + minGW 环境搭建(一劳永逸版)
应工作开发需要,今天搭建一个codeblocks的C++开发环境,需要配置opencv2.4.4的API协同开发。
1、为了避免不必要的配置编译器,下载codeblocks16.1带mingw编译器版本,安装很简单,几乎是默认下一步。
2、汉化,英文有困难的可以选择汉化,下载一个zh_CN汉化包
找到你Codeblocks的安装根目录,依次进入share文件夹、CodeBlocks文件夹;
进去之后,新建一个locale文件夹, 进入locale文件夹,再新建一个zh_CN文件夹;
解压汉化包,把解压的文件放到zh_CN文件夹下。
重启codeblocks,打开Enviroment-View,如下图操作:
3、新建控制台程序,运行helloworld测试,如下图可知已经成功,不需要什么配置,因为mingw编译器已经自带。
4、配置opencv2.4.4开发环境,使得可以调用opencv库中的方法
首先要用mingw编译一下opencv才行。(先把mingw的bin目录加到系统变量path中)
(1)下载一个cmake编译工具,这里从用cmake2.8版本的,直接默认下一步安装即可。
(2)打开cmake,填上信息(直接天minGW/opencv244)开始编译。如下图。(这里我遇到了一个缺少什么libintl-8.dll的问题,查百度解决直接把mingw的bin目录加到path靠前的地方去)
(3)cmd进入到刚才那个生成代码的地方(/minGW/opencv244),输入mingw32-make,完成后输入 mingw32-make install,开始编译opencv2.4.4源码,根据机器性能,时间不一定,最多不超过半个小时吧
(4)编译完成之后,你会看到install目录下生成了3个文件夹lib、bin、include,直接把这三个文件夹拷贝到你codeblocks下新建的一个opencv2.4.4目录就可以了,这样方便统一环境文件。下次直接打包好,不用重新编译。当然如果你的opencv版本换了,你还是要重新用cmake和mingw命令编译一下的。
(注意,千万别弄错了三个文件夹,install下的,否则编程include<>就会出现找不到头文件的报错)
(5)新建控制台程序,试试在项目中配置一下就可以了,如图。
5、配置好了,写个测试程序试试。
1 # include<iostream> 2 # include<opencv2/core/core.hpp> 3 # include<opencv2/highgui/highgui.hpp> 4 # include<opencv2/imgproc/imgproc.hpp> 5 6 using namespace cv; 7 using namespace std; 8 9 int main() 10 { 11 Mat img = imread("lena.png"); 12 13 resize(img,img,Size(500,500)); 14 15 imshow("image", img); 16 17 waitKey(); 18 destroyAllWindows(); 19 return 0; 20 }
编译运行可以看到显示了lena的图片结果。
这样就搭建完成了。