wxWidgets 2.9.2(3.x)最小体积编译方法
官方论坛、网上记录的wxWidgets编译方法,会导致编译后的程序库非常大,原因在于对编译的方法选择不当。
下面简单总结一下如何编译最新的SVN代码。
下载最新源码或者svn checkout:
http://biolpc22.york.ac.uk/pub/Daily_HEAD/
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk
准备工作:1. 删除include\wx\msw\setup.h(如果该文件已经存在)2. 修改setup0.h,搜索“WXWIN_COMPATIBILITY_2_8”,修改其值为0,即放弃对wx2.8代码的兼容,强制用户更新代码。GCC版本:修改makefile.gcc文件:区分大小写搜索"_gcc"mingw32-make -f makefile.gcc CPPFLAGS=-Os LDFLAGS=-s SHARED=1 BUILD=debug UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=1 MONOLITHIC=1 OFFICIAL_BUILD=1 RUNTIME_LIBS=staticmingw32-make -f makefile.gcc CPPFLAGS=-Os LDFLAGS=-s SHARED=1 BUILD=release UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=0 MONOLITHIC=1 OFFICIAL_BUILD=1 RUNTIME_LIBS=staticVC版本:修改makefile.vc文件:区分大小写搜索"_vc"nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=debug SHARED=1 UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=1 MONOLITHIC=1 OFFICIAL_BUILD=1 RUNTIME_LIBS=staticnmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=release SHARED=1 UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=0 MONOLITHIC=1 OFFICIAL_BUILD=1 RUNTIME_LIBS=staticVC静态版:nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=release SHARED=0 UNICODE=1 DEBUG_INFO=0 DEBUG_FLAG=0 MONOLITHIC=1 OFFICIAL_BUILD=1 RUNTIME_LIBS=static