搭建跨平台编程环境Code::Blocks+wxWidgets

Windows下
  1. 到Code::Blocks官方网站http://www.codeblocks.org下载Code::Blocks+MingGW安装包,下载后用默认设置安装。

  2. 设置环境变量,给Path环境变量加上C:\Program Files\CodeBlocks\bin。对于Windows XP,具体方法是鼠标右击“我的电脑”,在弹出菜单中选择“属性”;在出现的对话框点选“高级”标签,然后点击下方的“环境变量”按钮,在“系统变量”中选中“Path”并点击“编辑”按钮;在弹出对话框的“变量值”一栏的末尾加上“;C:\Program Files\CodeBlocks\bin”(引号不用加);“确定”所有对话框即可。建议重启一次计算机以使新环境变量彻底生效。

  3. 到wxWidgets官方网站http://www.wxwidgets.org下载wxWidgets安装包,下载后用默认设置安装。

  4. 打开一个命令行控制台(开始菜单->程序/所有程序->附件->命令提示符),执行下列代码进行编译:

    1. C:
    2. cd \wxWidgets-2.6.2\build\msw\
    3. mingw32-make -f makefile.gcc BUILD=release clean
    4. mingw32-make -f makefile.gcc BUILD=release

    这时候漫长的编译过程,先去干点别的

  5. ……(干别的事情)

  6. 待编译完成,打开Code::Blocks,新建一个wxWidgets工程,编译看看能不能运行。

  7. 如果以Using wxWidgets DLL建立的工程,可能运行的时候会报告缺少wxmsw26_gcc_custom.dll文件。此时可选如下三种做法之一使得程序能找到该dll:

    1. 复制C:\wxWidgets-2.6.2\lib\gcc_dll\wxmsw26_gcc_custom.dll到C:\WINDOWS\system32\;

    2. 复制C:\wxWidgets-2.6.2\lib\gcc_dll\wxmsw26_gcc_custom.dll到工程所在的文件夹;

    3. 给Path环境变量加上C:\wxWidgets-2.6.2\lib\gcc_dll\,方法仿上文所述。

  8. 如果以Using static wxWidgets library建立的工程,可能编译(build)的时候会报告ld找不到wxmsw库。此时在菜单中选择Project -> Build options,在弹出对话框中点选“Linker”标签;点击列表中的“wxmsw”,并点击“Edit”按钮,然后将其改为“wxbase26”并确定;点击“Add”按钮,在弹出对话框输入“wxmsw26_core”并确定,然后用旁边的三角按钮将其提升到最顶端;再编译工程即可。如果程序还用到其它的库,还要在此添加,并注意先后顺序。

FreeBSD下
  1. 从ports安装Code::Blocks

    以root身份执行:

    1. cd /usr/ports/devel/codeblocks/
    2. make install clean

    按理执行此命令后即会自动安装wxgtk2和wxgtk2-common两个port。如果没有安装请自行安装。

  2. 回复普通用户身份。打开Code::Blocks(可以在命令行下执行codeblocks打开,如果是csh的shell,刚安装完时需要先执行rehash),新建一个wxWidgets工程并尝试编译,如果能通过,则安装成功。

  3. 如果编译时报告`wxgtk2-2.6-config: No such file or directory,那么打开一个term,执行:

    1. wxgtk2-2.6-config --cflags

    执行后不要关闭该term。点击Code::Blocks菜单Project->Build options,在弹出的对话框中的Compiler标签中点选Other options标签,用刚才term中输出的内容替换掉`wxgtk2-2.6-config --cflags`这一句。再在term中执行:

    1. wxgtk2-2.6-config --libs

    然后在Code::Blocks中刚才的Build options对话框里点选Linker标签,在Other linker options中用term中的输出替换掉`wxgtk2-2.6-config --libs`这一句。

  4. 重新编译工程就应该能通过了。

 

你可能感兴趣的:(编程,C++,c,gcc,FreeBSD)