程序员人生 网站导航

Linux下的wxWidgets静态编译实现

栏目:服务器时间:2014-01-15 13:29:20

wxWidgets里的wxGTK不基于GNOME和KDE,因此可以独立运行与这2个桌面环境,只需要依赖GTK+和wxGTK库,由于这2个桌面环境一般都会安装GTK+库,而wxGTK库则需要单独安装,因此为了简化安装,可以将wxWidgets配置为静态编译。

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

--wxWidgets version:2.8.12

--gcc version:4.4.3

1、编译静态版wxWidgets

在Linux下配置wxWidgets的静态编译,需要在编译wxWidgets的时候就指定静态编译。

slyar@slyar-desktop:~$ cd /opt

//创建一个文件夹编译静态版的wxWidgets
slyar@slyar-desktop:/opt$ sudo mkdir sbuildgtk

slyar@slyar-desktop:/opt$ cd sbuildgtk

//携带--disable-shared指定静态编译
slyar@slyar-desktop:/opt/sbuildgtk$ sudo /home/slyar/wxWidgets-2.8.12/configure --with-gtk --disable-shared

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

如此静态版的wxWidgets就编译完成了

2、使用静态编译生成bin文件

slyar@slyar-desktop:~$ cd /aui

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

slyar@slyar-desktop:~/aui$ ./saui_gtk

3、查看bin文件,发现静态编译后的bin文件比动态编译大了许多,不过可以使用压缩的方法减小文件大小

2011-10-11_142942

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐