CodeBlocks配置方法积累



心血来潮,开始准备学习C++,一步定位没有打算用VSC++,直接用开源工具CodeBlocks,GUI打算用wxWidgets,下面开始记录一些自学过程中心得,在这里不断积累,考验一下自己的毅力,看看能不能坚持下去,o(∩_∩)o 哈哈。

  1. CodeBlocks 13.12(下面文中会简称为CB)
  2. MinGW 4.7.1
  3. wxWidgets 3.0.1

上面各类软件安装路径请自行参考下文进行配置,我使用的系统环境是Windows7 x64.

1、系统环境变量配置

  从官网下载CodeBlocks安装包时可以选择自带MinGW编译环境,也可以下载不带编译环境而自行下载适用的编译器。我是单独将MinGW单独拷贝到磁盘上,主要考虑其它开发工具也能共用。

  在系统环境变量path中增加MinGW的路径,如:D:\devtools\MinGW\bin
  也可以预设一个全局环境变量,如MinGW=D:\devtools\MinGW,然后在path中增加%MinGW%\bin也可以,而且这个全局变量在CodeBlocks中也可以使用。
  验证方法:在dos环境下执行 mingw32-make -v

  为wxWidgets预设全局环境变量,wxWidgets=D:\devtools\resource\wxWidgets-3.0.1,然后在path中增加%wxWidgets%\lib\gcc_dll。增加这个访问路径是为了便于需要使用wxWidgets运行库的程序能够在本机直接运行。当然发布版程序可以将运行库一同拷贝到目标机器便可。

2、CodeBlocks配置

  菜单settings->Compiler->Glbal compiler settings
  选择编译器 GUN GCC Compiler
  然后在Toolchain executables 设置编译器路径,如果上面第一步配置正常,可以直接Auto-detect
  或者手工输入D:\devtools\MinGW
  为了让CB支持中文输入输出,分别在菜单settings->editor->general setting->other setting->encoding选择windows-936,并选中"As default encoding"。(注意,新建工程前一定要先设置好,然后保存文件,才有效。如果你已经保存了文件,无论你怎么修改这个设置,也不会改变你文件的格式了。你的文件还是保持第一次保存的时候的格式。)

  另外还需要在菜单settings->compiler->Glbal compiler settings->compiler settings->other options中加入两个选项:-finput-charset=GBK 和 -fexec-charset=GBK

  为了使用wxWidgets开发GUI程序,需要在CB中创建一个全局环境变量“wx”,打开菜单settings->global variables,新建一个variable命名为wx,将base路径指向到wxWidgets根目录即可。因为我们在Windows定义了全局环境变量wxWidgets,所以在CB中可以直接引用为${wxWidgets}。当然也可以直接使用磁盘路径。

3、wxWidgets编译

  从官方网站下载源码,解压后在dos窗口中进入D:\devtools\wxWidgets-3.0.0\build\msw下,执行编译指令
  mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
  上面的指令是创建发布版的单一文件动态链接库,支持Unicode字符集。你也可以生成Debug版(BUILD=debug)动态库,不过一般用不上Debug库。
  编译时间较长,性能高的电脑大概用20分钟,差一点的电脑就会很慢了(急性子的可以出门转两圈了)。第一次好像没有没有编译成功,先用 mingw32-make -f makefile.gcc clean 清理一次,然后重复上面指令差不多就OK了。

2013年12月14日补充

后来因为要编译CB12.11中的插件进行研究,而需要的wxWidgets运行库为2.8.x,从官网下载2.8源码后进行编译,折腾了一整天,差一点被搞败了,ld链接时生生的在吃内存啊,我Win7 x64/10GRAM的小黑直接被累趴下。经网上求证得知,需要修改wxMSW-2.8.12\build\msw下的config.gcc,修改如下:

# Standard flags for CC 
CFLAGS ?= -fno-keep-inline-dllexport

# Standard flags for C++ 
CXXFLAGS ?= -fno-keep-inline-dllexport

然后用mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1同样编译就OK了。

不过,如果在没修改config.gcc之前你就编译了,那么差不是多和我犯一样的错误了,即使再改config.gcc也于事无补,删掉这份wxMSW-2.8.12源程序吧,重新解压另行编译就OK(make clean没有发挥其应有的作用!!)

~~~~~~~~~~~~~~~~~~~~~end 2013年12月14日

4、CodeBlocks 12.11对wxWidgets 3.0的支持

  wxWidgets 3.0刚刚推出,CB 12.11还不支持,需要升级一下向导配置文件,从http://forums.codeblocks.org/index.php/topic,18460.0.html下载wizard.rar附件,然后覆盖D:\devtools\CodeBlocks\share\CodeBlocks\templates\wizard\wxwidgets下的wizard.script,重新运行CB就可以了。


用向导新建一个wxWidgets工程试验一下,期间会引导创建一个CB的全局环境变量“wx”(如果你之前没有配置过就会出现提示的)。

简单修改一下里面的文字,运行效果如下,比较完美了!










  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值