我以正常方式编译我的程序。
mkdir mystatic
cd mystatic
make
g++ `./wx-config --static=yes --libs` `./wx-config --static=yes --cxxflags` etc
但是当我打字的时候
ldd application I get many library. linux-gate.so.1 => (0xb76e7000) libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb724b000) libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb719d000) libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb718f000) libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 ....
如何静态编译我的应用程序。我的应用程序将在任何 Linux 发行版上运行。
最佳答案
起初我从源代码(http://wxwidgets.org/downloads/)重新安装了 wxWdgets(像这里的 http://ubuntuforums.org/showthread.php?t=937810):
./configure --enable-optimise --enable-stl --enable-unicode --enable-threads --enable-static --disable-shared --enable-monolithic --enable-graphics_ctx --with-x11
make
make install
update-alternatives --config wx-config
updatedb
locate wx_ | sed '/doc/d;/\/usr\/l/d'
制作wxWidgets-2.8.12/samples/minimal
我修改了“Makefile”LIBS 字符串:
LIBS = -lz -ldl -lm -lX11 -lcairo
比命令 make
我得到了 3164131 字节的“最小”可执行文件
关于c++ - 如何静态编译 wxwidgets 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22406511/