wxWidgets的编译与使用

本文介绍了如何在Windows环境下使用mingw编译wxWidgets,并通过Eclipse+CDT进行开发。包括安装配置步骤、编译选项说明及必要的预处理器宏定义。

    今天开始搞wxWidgets,wxWidgets是一个跨平台的ui类库,自带系统的原生界面。开发的时候与mfc挺像的。

 

    在windows环境下,必须先安装mingw(也许cygwin也可以)才能编译wxWidgets项目。

    去wxWidgets官网下载msw的安装包,安装好之后就可以编译了。

    编译的时候在命令行下进入../wxWidgets-2.8.0/build/msw目录下,然后输入命令

mingw32-make -f makefile.gcc BUILD=release SHARED=0 UNICODE=1 USE_ODBC=1

    BUILD选项可以选release或dubug,如果你不打算调试wxWidgets本身,那就设为release,一般来说如果下载的安装包是stable release version的,都设为BUILD=release,SHARED选项可以设为0或1,0表示静态编译,1表示动态编译。

编译好之后就可以写一个demo了(开发方面的东西以后介绍)。我使用的ide是eclipse+cdt(假定你已经搞定了eclipse+cdt+mingw的环境配置),先创建一个C++项目,然后include一下wxWidgets的头文件,共有以下几个目录:

  • ../wxWidgets-2.8.0/contrib/include
  • ../wxWidgets-2.8.0/include
  • ../wxWidgets-2.8.0/lib/gcc_lib/mswu

写点代码,就可以开始build了,在这之前还需设置一下编译器。

    首先设置一下预处理器,一般就4个宏,WIN32,UNICODE,wxUSE_WX_RESOURCES,wxUSE_PROLOGIO。更多的预处理器宏可参考platform.h,该文件位于/wxWidgets-2.8.0/include/wx/platform.h。

    注意:如果编译wxWidgets的时候设置了BUILD=debug,则预处理中还必须加入__WXDEBUG__,但如果是BUILD=release则一定不能加入__WXDEBUG__,否则编译工程的时候会出错。

    然后设置链接库(如果新建了可执行c++工程,就在工程属性中添加。如果新建了makefile c++工程,则在makefile中添加)。共有以下类库(如果编译wxWidgets的时候设置了BUILD=debug,则下列类库会变成wx...ud_...):

wxmsw28u_xrc
wxmsw28u_richtext
wxbase28u_net
wxmsw28u_dbgrid
wxbase28u_odbc
wxmsw28u_media
wxmsw28u_aui
wxmsw28u_html
wxmsw28u_adv
wxbase28u_xml
wxmsw28u_core
wxbase28u
wxtiff
wxjpeg
wxpng
wxzlib
wxregexu
wxexpat
kernel32
user32
gdi32
comdlg32
winspool
winmm
shell32
comctl32
ole32
oleaut32
uuid
rpcrt4
advapi32
wsock32
odbc32

 

类库搜索路径:

"../wxWidgets-2.8.11/lib/gcc_lib"
"../wxWidgets-2.8.11/lib"

 

 然后编译,运行,即可。

### 安装 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]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值