codeblocks(version:20.03) + wxWidgets(version:3.2.6)最新版本终极配置方案

我的之前的一篇博客配置方案总是会出现下面3个问题。

1. 就是在创建wxWidgets工程的时候总是会提示如下错误:

2. 而且在没有3.2.x版本选项

3. 跳过第1和第2个问题后通过在Project property中修改如下选项后也能正常编译成功

但是还是要追求完美,毕竟以后会让它陪我很久很久。所以我查了大量官方文档和blog(好像当前没有任何一个能提供这几个问题的解决方案)。纪录一下,也帮助一下后来人。

我的配置步骤如下:

1. 首先编译器,我的编译器在下面的路径:编译器可以单独在官网下载(下载含有编译器的codeblocks,安装后codeblocks路径下也有MinGW,我猜配置到这个编译器下也是没有问题的,但是我没有做这样的尝试),mingw64的安装方法可以自行找教程。

2. 设置mingw64环境变量

3. 下载wxWidgets, 建议下载自编译版本,并解压到D:\Codeblocks\wxWidgets-3.2.6

4. 编译wxWidgets, 以下命令需要gcc的版本大于等于12.1.0, 通过运行gcc --version可以查看gcc版本

      a) cd D:\Codeblocks\wxWidgets-3.2.6\build\msw

      b) 分别运行以下命令。(其中-j 8是让编译采用8个线程,可以极大提升编译速度)

mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean
mingw32-make -f makefile.gcc -j 8 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 clean
mingw32-make -f makefile.gcc -j 8 SHARED=1 MONOLITHIC=1 BUILD=debug

4. 下载并安装codeblocks, 建议遵循默认安装路径。

5.  打开codeblock,在settings->Global variables中创建如下设置

6. 在Global compiler settings中做如下设置

7. 设置debuger.

8. 

编译好之后使用CodeBlock创建工程时,没有3.2.x选项,需要修改CodeBlocks安装目录下的share\CodeBlocks\templates\wizard\wxwidgets\wizard.script文件,修改前先做好备份。

用notepad++打开文件,

对文件61行修改,增加/ 3.2.x

local intro_msg = _T("Welcome to the new wxWidgets 2.6.x / 2.8.x / 3.0.x / 3.1.x / 3.2.x\nproject wizard!\n\n" +

对文件74行修改,增加(注意前面的;):;wxWidgets 3.2.x

_T("wxWidgets 2.6.x;wxWidgets 2.8.x;wxWidgets 3.0.x;wxWidgets 3.1.x;wxWidgets 3.2.x"),

对文件96行,增加/ 3.2.x

local intro_msg = _T("Welcome to the new wxWidgets 2.6.x / 2.8.x / 3.0.x / 3.1.x / 3.2.x\nTarget wizard!\n\n" +

对文件108行修改,增加(注意前面的;):;wxWidgets 3.2.x

_T("wxWidgets 2.6.x;wxWidgets 2.8.x;wxWidgets 3.0.x;wxWidgets 3.1.x;wxWidgets 3.2.x"),

查找WxVersion,在下述语句(大概358行)后面增加红色部分

        if (WxVersion == 0)
            lib_wxver = _T("26");
        else if (WxVersion == 1)
            lib_wxver = _T("28");
        else if (WxVersion == 2)
            lib_wxver = _T("30");
        else if (WxVersion == 3)
            lib_wxver = _T("31");
        else if (WxVersion == 4)
            lib_wxver = _T("32");

  在下述语句(大概511行)后面增加红色部分

        if (WxVersion == 0)
            LibWxVer = _T("2.6");
        else if (WxVersion == 1)
            LibWxVer = _T("2.8");
        else if (WxVersion == 2)
            LibWxVer = _T("3.0");
        else if (WxVersion == 3)
            LibWxVer = _T("3.1");
        else if (WxVersion == 4)
            LibWxVer = _T("3.2");

修改下述语句(大概755行),把WxVersion == 3改成WxVersion >= 3

            if (WxVersion >= 3 && GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc*")))

然后完美解决所有最新版本错误,由于年龄大了,一边研究一边解决问题,纪录的点可能会有遗漏哈哈,以后发现再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值