初始配置: 已安装vs2008
1. 下载安装CodeBlocks
from: http://www.codeblocks.org/downloads
第一次运行的时候会提示用户选择何种编译器,由于我已安装过vs2008,CodeBlocks显示detected,所以我选择了vs2005/2008.
这样就可以写一个helloworld测试是否ok了。个人在测试的时候出现的问题是尽管在“Build Option”中选的编译器是vs2005/2008,但是奇怪的是编译成功就是运行的时候没有反应。后来我的解决措施为:Setting->Compler and debugger setting->Seleted compiler中选择MS VC++2005/2008后然后点击Set as default后就好使了。。。
2. 配置OpenCV2.4.2
下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.2/OpenCV-2.4.2.exe/download
安装后(我的安装目录为D:\Program Files\OpenCV2.4.2为例)添加环境变量”D:\Program Files\OpenCV2.4.2\build\x86\vc9\bin“到path。然后重启下保险点。新建一个project,右击工程进入Project build options:
1) 在Search directories->Compiler中加入 “D:\Program Files\OpenCV2.4.2\build\include”,“D:\Program Files\OpenCV2.4.2\build\include\opencv”
2) 在Search directories->Linker中加入 “D:\Program Files\OpenCV2.4.2\build\x86\vc9\lib“
3) 在linker settings->Link libraries中加入所需的lib库文件,个人由于嫌麻烦一股脑全加了:opencv_calib3d242d.lib opencv_contrib242d.lib opencv_core242d.lib opencv_features2d242d.lib opencv_flann242d.lib opencv_gpu242d.lib opencv_highgui242d.lib opencv_imgproc242d.lib opencv_legacy242d.lib opencv_ml242d.lib opencv_objdetect242d.lib opencv_ts242d.lib opencv_video242d.lib
这样就把OpenCV配置结束了。为了测试下配置得是否争取,可用以下步骤测试:
1. 把以下代码复制到cpp文件中。
#include <iostream>
using namespace std;
#include "cv.h"
#include "highgui.h"
int main( int argc, char** argv )
{
IplImage* pImg; //声明IplImage指针
//载入图像
if( argc == 2 &&
(pImg = cvLoadImage( argv[1], 1)) != 0 )
{
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
return 0;
}
return -1;
}
2. 然后需要手工copy一个图片到项目的目录,比如 lena.jpg。然后添加到程序的命令行参数 (Project->Set programms' arguments)
3. 然后编译运行后出来图片就是OK了。
补充说明1:
发现以上步骤的情况下debug模式下不能跟踪,原因是Debugger里没有cdb.exe文件。需从http://www.microsoft.com/en-us/download/details.aspx?id=8442下载安装debugger,个人安装目录在C:\Program Files (x86)\Debugging Tools for Windows (x86),再把这个目录添加到:Setting->Compiler and debugger settings->Toolchain executables->Additional Paths中就可以debug了。
目前还存在的问题:debug倒是可以debug了,但是命令行里明明加进了参数,可是main里的argc还是显示1,不知道为什么。
以上总结来自于http://www.opencv.org.cn/index.php/Codeblocks_MinGW_openCV,只是他的帖子版本较老所以有改动。第一次发帖,帖子内的错误请指正。
补充说明2:
在设置中遇到一个问题:比如一个static lib的新建立的project是基于OpenCV的库文件,不过在main所在的project编译会出现link2005的错误。按理说应该都使用统一的CRT应该就可以了,不过在本机上未果。目前本机上可以编译成功的方法是在build options里面的Linker settings->Other linker options里添加/FORCE:MULTIPLE。