WxWidget多平台交叉编译环境搭建

本文详细记录了如何在Ubuntu环境下搭建wxWidget的多平台交叉编译环境,包括gtk、x11和msw平台。首先,下载wxWidgets稳定版源代码并创建对应平台的编译目录。接着,分别编译配置这三个平台,每个平台的build目录将生成编译示例的makefile。最后,介绍了如何使用wx-config命令进行默认或自定义配置来编译代码。
摘要由CSDN通过智能技术生成

wxWidget作为知名的跨平台界面开发框架,已经有相当长的历史了,最近利用业余时间研究了wxWidget框架在Ubuntu下的开发方法,其中搭建开发环境走了一些弯路,参考了网上不少好文,总算尘埃落定,不敢独享,把搭建步骤记录于此,希望给有同样研究兴趣的同学一个参考。

那么现在开始...

开始之前需要安装:

                 C++ 基本开发环境:sudo apt-get install build-essential
                    安装X11库文件:sudo apt-get install libx11-dev
            安装GTK需要的一堆东西:sudo apt-get install gnome-core-devel
 安装minGW32,windows交叉编译工具:sudo aptitude install -y mingw32 mingw32-binutils mingw32-runtime gcc-mingw32

说明:因为我搭建的环境预备用来编译gtk,x11和msw(MS Windows)三个平台的代码,所以需要先安装这三种平台的交叉编译工具,如果还要编译其他平台的程序,就还得安装其他平台的编译工具。


以下为配置步骤:


1. 从wxWidget官方网站下载源代码包wxAll版本,次级版本号为双数的是稳定版本(目前是2.8.12),单数是最新开发版(2.9.4),一般而言不够稳定,我们下载稳定版:

    wxWidgets-2.8.12.tar.gz( http://www.wxwidgets.org/downloads/

解压到/home/youxin/code/wxWidgets-2.8.12,作为程序根目录:

    tar -xzvf wxWidgets-2.8.12.tar.gz

2.在程序根目录wxWidgets-2.8.12下,建立各平台文件夹,目前建立了一下三个:

    build28-gtk-ud     //存放gtk平台文件
    build28-x11-ud     //存放x11平台文件
    build28-msw-ud     //存放MS Windows平台文件

自己定的目录命名规则,u代表开启unicode,d代表开启debug, s代表开启shared lib, 没有这些字母表示不开启 如果后续要建立gtk平台unicode, release版本,连接动态库的编译环境,则目录名为build28-gtk-urs

一下三步参考《Cross-Platform GUI Programming with wxWidgets EN.chm》Appendix A:installing wxWidgets--Linux,Unix, and Mac OS X, GCC

3.编译和配置gtk环境:

       cd  build28-gtk-ud 
       sudo ../configure --with-gtk --enable-unicode --enable-debug --disable-shared //该步骤在当前目录下生成平台的各种文件
        //上一指令隐含参数--build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
       sudo make              //编译平台库文件 
       sudo make install      //将库文件安装到/usr/local/lib,其他用户可以共享使用;将当前配置wx-config拷贝到usr/local/bin,作为默认编译配置
       sudo ldconfig          //更新、注册新添加的动态库

4.编译和配置x11环境:

       cd  build28-x11-ud 
       sudo ../configure --with-x11 --enable-unicode --enable-debug --disable-shared
       //上一指令隐含参数--build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
       sudo make
       sudo make install
       sudo ldconfig

5.编译和配置msw环境:

       cd  build28-msw-ud 
       sudo ../configure --with-msw --host=i586-mingw32msvc --build=i686-linux --enable-unicode --enable-debug --disable-shared
       //上一指令隐含参数--target=i586-mingw32msvc
       sudo make
       sudo make install
       sudo ldconfig

以上三个步骤执行完后,每个build目录都会生成samples文件夹,里面会为每个平台生成对应的例子编译makefile文件,直接在例子的目录中执行make,可以编译出例子。

6.在任意程序目录使用默认配置编译代码,以simple.cpp为例,使用命令:

   g++ -o simple si
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值