当前位置: > Linux教程 > linux桌面 >

Linux下的wxWidgets多平台编译环境搭建

时间:2014-09-22 12:04来源:linux.it.net.cn 作者:it

在Linux上利用源码包安装wxWidgets并构建多平台编译环境,简单记录一下,备忘。

--Linux distribution:Ubuntu 10.04.3 LTS (Lucid Lynx)

--wxWidgets version:2.8.12

--gcc version:4.4.3

1、基本编译环境安装。

安装编译工具(gcc之类)
sudo apt-get install build-essential

安装X11
sudo apt-get install libx11-dev

安装GTK需要的一堆东西
sudo apt-get install gnome-core-devel

剩下的缺啥装啥就行了,检查一下pkg-config

2、下载wxWidgets源码包,因为要构建多平台编译环境,因此选择wxAll版本,全部包含。

slyar@slyar-desktop:~$ wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz

3、解压缩到当前目录

slyar@slyar-desktop:~$ tar –zxvf wxWidgets-2.8.12.tar.gz

4、这里我使用GTK和X11平台来演示,我把 /opt 作为我编译后程序存放的目录,分别创建2个子目录

slyar@slyar-desktop:~$ sudo mkdir /opt/buildgtk

slyar@slyar-desktop:~$ sudo mkdir /opt/buildx11

5、编译wxGTK

slyar@slyar-desktop:~$ cd /opt/buildgtk

slyar@slyar-desktop:/opt/buildgtk$ sudo /home/slyar/wxWidgets-2.8.12/configure --with-gtk

slyar@slyar-desktop:/opt/buildgtk$ sudo make

slyar@slyar-desktop:/opt/buildgtk$ sudo make install

slyar@slyar-desktop:/opt/buildgtk$ sudo ldconfig

6、编译wxX11

slyar@slyar-desktop:~$ cd /opt/buildx11

slyar@slyar-desktop:/opt/buildx11$ sudo /home/slyar/wxWidgets-2.8.12/configure --with-x11

slyar@slyar-desktop:/opt/buildx11$ sudo make

slyar@slyar-desktop:/opt/buildx11$ sudo make install

slyar@slyar-desktop:/opt/buildx11$ sudo ldconfig

7、此时wxGTK与wxX11就都编译并且安装完成了,以后编译程序的时候只需要调用不用的类库即可。可以看到编译好的wxWidgets类库存放在/usr/local/lib/wx/include/下

2011-10-09_161126

8、在用户目录下编写一个wxWidgets程序,用sample也可以。这里我只用最简单的auidemo.cpp,单文件,可以不写makefile了。

2011-10-09_161401

9、使用wxGTK编译,即调用GTK的类库

slyar@slyar-desktop:~/aui$ g++ auidemo.cpp `/opt/buildgtk/wx-config --libs --cxxflags` -o aui_gtk

10、使用wxX11编译,即调用X11的类库

slyar@slyar-desktop:~/aui$ g++ auidemo.cpp `/opt/buildx11/wx-config --libs --cxxflags` -o aui_x11 

11、查看生成的bin文件,我就不执行了,X11的很难看= =

2011-10-09_161747

12、默认的wx-config存放在下面这里,实际上它也只是一个ln而已,我们可以自己修改。但使用多平台编译的时候就需要我们自己定义类库路径了。

slyar@slyar-desktop:/$ ls -l /usr/local/bin/wx-config

/usr/local/bin/wx-config -> /usr/local/lib/wx/config/x11univ-ansi-release-2.8

(责任编辑:IT)
------分隔线----------------------------