安装codeblocks和wxwidgets及opencv

      codeblocks 是一款开放源代码的跨平台的c/c++集成开发环境,它是用wxwidgets 开发的,并且支持插件,功能很强大。可以用来在windows开发各种程序。下面记录一下我安装该软件的过程:

 

      首先到http://www.codeblocks.org/downloads 下载该软件,选择含mingw的文件(codeblocks-10.05mingw-setup.exe),然后安装即可。完成之后,需要修改环境变量,可以用rapid ee 很方便的增加环境变量,将C:\Program Files\CodeBlocks\MinGW\bin添加到PATH变量即可。

 

     然后到wxwidgetshttp://sourceforge.net/projects/wxwindows/files/2.8.12/wxMSW-2.8.12-Setup.exe/download 下载wxwidgets(用于开发GUI程序的一个类库),然后安装该软件。此时的安装实际上只是把文件给解压缩到c盘下而已,可以按照compiling wxWidgets 2.8.6 to Code::Blocks 中的步骤来安装,如果按照我上面的步骤都完成的话,可以直接运行cmd 命令,进入C:\wxWidgets-2.8.12\build\msw文件夹,然后运行mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 命令编译wxWidgets,大约需要半小时到几个小时的时间(不同配置的机器,编译时间不同)。需要注意的是后面的几个编译选项,这几个具体选项的含义可以看前面的codeblocks的连接。如果使用不同的编译选项,那么在使用codeblocks创建wxwidgets应用程序时选择的选项会有所不同。现在wxWidgets编译完成后,打开codeblocks,选择file->new->project->wxwidgets project,然后选择wxwidgets 2.8.x(如果安装了其他版本,那么可以选择其他版本),输入工程名字,选择该工程所放的文件夹。然后输入自己的姓名邮件等信息(这步可省略),接下来选择None和Frame-based两个选项(其他选项我还没有尝试),下一步是wxwidgets位置(我选择C:\wxWidgets-2.8.12),下一步选择编译器(GNU gcc compiler)和debug,release选项,接下来是几个选项(选择USE wxWidgets dll和enable unicode,把其他选项都去掉,此处的选项和前面的编译选项必须对应 ,因为前面shared和unicode分别表示dll和unicode),再点击next即完成。如果要编译该工程,还需要对工程配置,使得工程能找到所链接的wxwidgets库文件即可。选中该工程,点右键选择build options,再选择linker settings,点击clear按钮将默认的几个库文件删除,然后点击add按钮,将C:\wxWidgets-2.8.12\lib\gcc_dll文件夹下的所有dll文件添加上即可(可用ctrl+a快捷键快速选中所有文件,然后添加),然后确认,对工程编译连接就可以了,工程编译成功后,运行后即可看到一个窗口程序。

 

      接下来安装opencv(计算机视觉库,可用于图像处理等),到opencv.org.cn 下载opencv(我选择OpenCV-2.2.0-win32-vs2010.exe),然后安装,此时安装后的文件还需要重新编译才能重新使用。按照compile opencv under mingw 中步骤安装cmake并用cmake配置安装即可(很漫长的编译,具体时间视机器配置而不同,我花了大约1个小时左右),其中第10步可以直接选择针对codeblock的选项(可以在下拉列表里面选择),然后用codeblocks打开并进行编译即可。安装完成后还需要创建一个新的工程来测试,如果按照上面那个指南中的步骤来做,那么需要修改环境变量(将编译后的opencv程序加入到PATH环境变量中),然后在按照codeblock模版创建一个console project,将main.c内容清除,并加入下面的内容:

 

#include <opencv/cv.h>
#include <opencv/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;
}

 然后选择build options->search directories->compiler,点击add按钮添加C:\OpenCV2.2MinGW\include(即第23步),选择build options->search directories->linker,点击add按钮添加 C:\OpenCV2.2MinGW\lib(即第24步),选择build options->search directories->link libraries ,点击add按钮将 C:\OpenCV2.2MinGW\lib\下的所有文件添加上(可以用ctrl+a全选添加),然后对该文件进行编译。很悲剧的是,此时出现了一些编译错误,原因是C:\OpenCV2.2Mingw\include下没有头文件,所以编译器抱怨找不到头文件,可以将C:\OpenCV2.2\include下的所有文件复制过去即可。现在编译就没有问题了。上面的程序功能是打开图像文件并显示该图像,所以还需要找个图像文件(任意一个jpg文件即可)和编译后的exe文件放在同一个目录下(我用的是讲稿 中的lema.jpg),然后在命令行下输入可执行文件名(和工程的名字相同)加参数(例如此处的lema.jpg),我用的是opencv_test lema.jpg (我的工程名为opencv_test),可以正确显示该图片。

我将这几个文件传到了网盘上,也可以到我的网盘上下载:

codeblocks

wxwidgets

opencv

 

你可能感兴趣的:(C++,c,C#,gcc,软件测试)