Windows下CodeBlocks配置wxWidgets详细教程

    现在网上有很多讲CodeBlocks下配置wxWidgets的文章,但不少都因为软件版本的更新或者讲的不是很清楚,使得配置过程总是问题重重。

    针对这些问题,本文在基于使用codeblocks13.12+wxWidgets-3.0.2的基础上,根据自身配置过程中遇到的问题和网上的种种配置经验,总结出了一般的配置过程和一些注意点,以便今后即使codeblocks和wxWidgets继续更新,也可以使用以下步骤正常的完成配置工作。

(本文系统环境为Windows 7)

 

一、前期安装工作

    1、到codeblocks官网http://www.codeblocks.org/下载最新的MinGW版本CodeBlocks(无需自己配置编译器),然后“傻瓜式”安装即可(这里安装到了:D:\Program Files (x86)\CodeBlocks下)。

    2、到http://www.wxwidgets.org/下载最新版本的wxWidgets,下载下来为压缩文件“wxWidgets-3.0.2.zip”,解压缩到“D:\wxWidgets-3.0.2”即可。

(以下步骤均按上述路径来操作)

 

    记得一定要使用最新版本codeblocks+wxWidgets,具体原因见下面红字,这是网上很多人配置不成功的重要原因。

 

二、对wxWidgets文件进行编译

    这一步稍显麻烦,想跳过这一步的可以去下wxPack,去github一类的地方(https://github.com/rjpcomputing/wxpack/wiki)可以下到,不过不推荐这种方法,一是不翻墙的话可能不太好下,二更主要的是你下载的wxPack的编译版本与你当前自己使用的codeblocks本身带的编译器版本不一致,从而会出现很多问题(具体原因见下面红字),版本一致的话问题到不大。

(比如wxPack3.0.x版本对应MinGW 4.7.1,即12.11之后的几个codeblocks版本;wxPack2.8.x版本对应MinGW 4.4.1,即10.05版本的codeblocks,这两个亲测有效,其他的版本对应关系,请查看其自带的手册)

 

使用最新版本codeblocks+wxWidgets原因:

    一般情况下,由于最新版的codeblocks都是用相应最新的wxWidgets搭建的,所以用codeblocks自带的MinGW版本编译器编译相应版本的wxWidgets就不会出现什么错误;相反,如果版本不对应,就可能出现各种各样的编译错误(也可能编译时不出错但运行时出错),从而导致其他的配置即使不出现什么错误,最后的运行也不成功。

    比如说,用目前最新的13.12版本codeblocks所带的MinGW(版本为4.7.1)去编译wxWidgets-2.8.12,就有可能出现编译错误的现象,这就是因为wxWidgets-2.8.12所对应的MinGW版本为4.4.1的原因,编译器版本不对应,便会出现编译错误的问题。编译过程中出现问题,进而在实际运行wxWidgets程序时也可能会出现很多诸如缺库、运行崩溃等问题。

    很多人使用wxPack时会出问题也是这个原因,wxPack虽然规避了编译wxWidgets的麻烦,但也可能出现上面所说的编译wxPack的编译器版本与你当前使用的codeblocks对应的MinGW编译器版本不一致从而无法正常运行的问题。

    因此,为了方便的规避编译器版本不同带来的麻烦,大家干脆就都用最新版本的codeblocks+wxWidgets就好了。

 

三、wxWidgets文件编译操作步骤

    1、由于编译需要mingw32-make命令,所以现将mingw所在目录(即:D:\Program Files (x86)\CodeBlocks\MinGW\bin\)加入环境变量Path中(加环境变量就不用细讲了吧),加完后记得重启。

    2、cmd进入wxwidgets中的msw目录下(D:wxWidgets-3.0.2\build\msw)

    依次输入以下三条命令:

        清理:mingw32-make -f makefile.gcc clean

        编译Release版本:mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=release

        编译Debug版本:mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=debug

        完成上面三条命令的编译总共大约需要1个多小时的时间。

 

    简单说一下几个编译参数的意义。

    SHARED控制wxWidgets是构建DLL(SHARED=1)还是静态库(SHARED=0)。上面构建DLL,是因为动态库较小    且加载比较快。

    MONOLITHIC控制是构建一个单一的库(MONOLITHIC=1)还是多个组件库(MONOLITHIC=0)。

    UNICODE控制wxWidgets以及你的程序是否使用支持Unicode的宽字符串。

    *关于参数的详细解释可以参照http://blog.csdn.NET/longzuyuan/article/details/22382131中写的,在此不再赘余。

 

四、codeblocks环境配置

   1、打开codeblocks,点击菜单栏的settings->Global variables…出现下图:

           

    2、Current Variable中添加一个wx变量,base路径设置为编译好的wxWidgets目录(wx变量作用:wxWidgets安装目录变化之后只需变更此变量的base路径即可)

     

四、wxWidgets工程创建及测试

    1、新建一个project,选择wxWidgets project,点“Go

                   


    2、由于用的是wxWidgets-3.0.2,所以选择wxWidgets 3.0.x,“Next”

        


    3、输入工程名,“Next”

        


        4、填写作者名等信息,这里可以选择不填,直接“Next”

        

    5、选择GUI Builder,自己编写代码就选None,可视化界面选wxSmith或wxFormBuilder;Application Type分为       Dialog和Frame,有什么区别自己Google,不多解释,“Next””

        

    6、选择路径,默认的是$(#wx),直接“Next”

        

    7、根据自己需要选择Debug还是Release,无特殊需要的默认即可,直接“Next”

        

    8、这里务必要注意,只选择第一个和第三个,不选择第二个;要是前面编译wxWidgets时编译参数SHARED为0(即是用的静态库的话),第一个也不选,只选第三个,否则之后会出cannot find -lwxmsw30ud|一类的问题,这里务必注意,至于为什么这样选自己查文档吧,选择好后“Next”

         

    9、根据自己需要选择Lib,这里演示只是简单运行一个Dialog,因此直接点“finish”即可

        

    10、最后运行,如果成功,如下图所示;如果还出现其他什么问题可以参照http://blog.csdn.Net/longzuyuan/article/details/22382131这篇博客中第6条列出的部分问题以及解决方法。

          

 

 

 

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值