MinGW(TDM-GCC-64) 编译 wxWidgets

本文介绍如何使用TDM-GCC-64编译器成功编译wxWidgets库,包括解决编译错误及配置参数说明。涉及关键配置如CXXFLAGS、SHARED和MONOLITHIC等。

为了开发64位程序,尝试TDM-GCC-64编译wxWidgets:

mingw32-make -f makefile.gcc

结果编译报错。根据错误提示,修改了编译配置文件(config.gcc):

# Standard flags for C++
CXXFLAGS ?= -std=gnu++11

 

重新编译,有很多警告,但没有异常,编译成功。

 

顺便解释几个参数(在config.gcc或命令行设置):

1、SHARED

      含义:动态连接还是静态连接。

      取值:0-静态连接,生成静态连接库(.a),不生成动态连接库(.dll);

                 1-动态连接,生成动态连接库(.dll),也生成 .a文件,但不是静态库,只是连接索引。

2、MONOLITHIC

      含义:是否合并生成一个大连接库。

      取值:0-分别生成连接库;

                 1-合并生成一个连接库。

### 安装 1. **CodeBlocks**:到www.CodeBlocks.org下载并安装CodeBlocks,建议下载MinGW版本,可省掉安装和配置GCC的麻烦,CodeBlocks版本为codeblocks-13.12mingw-setup-TDM-GCC-481.exe [^1]。 2. **wxWidgets**:到www.wxWidgets.org下载并安装wxWidgets,若只开发Windows程序可只下载wxMSW版本,也可下载wxAll版本,wxWidgets版本为wxWidgets - 3.0.0 [^1]。 ### 编译 1. **通用编译**:若不知如何编译,可使用wxbuild.bat进行编译,将其放到wxWidgets - 3.0.0的安装目录里和build文件夹同级,双击运行,编译过程约30分钟 [^1]。 2. **特定版本编译(以静态调试版本为例)**:可以把wxWidgets编译为静态/动态链接库的debug/release版本,即静态的调试版本、静态的发行版本、动态的调试版本、动态的发行版本 [^2]。 3. **创建编译脚本**:在C:\wxWidgets - 3.1.3\build\msw、makefile.gcc中创建编译wxCompile.bat文件,内容如下: ```batch @echo off title Compile wxWidgets echo Start Compile ... echo --------------------------------------------------------------------- ::cd %WXWIN%\build\msw ::echo Clean Env ::mingw32-make -f makefile.gcc clean echo Compile Release Version mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 echo Compile Debug Version mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1 echo --------------------------------------------------------------------- echo Compile Succeed. pause ``` [^3] ### 使用 1. **修改编译选项**:因为CodeBlocks使用GCC编译器,需先改编译选项以支持中文,到Settings -> Compiler and debugger下的Other option标签中加入:-finput-charset=GBK,若源文件是UTF - 8或Unicode编码则改成相应的 [^1]。 2. **新建工程**:完成上述步骤后,即可新建wxWidgets工程 [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值