今天重新编译了一下 wxWidgets
以前编译的一份太慢.可能还有些问题.
于是这次重新编译.想使用静态的方式.
结果在链接wxmsw28u_gcc_custom.dll (MONOLITHIC=1) 时内存耗尽.
因为系统是32位的,最大只能为应用程序分配2G的内存.
后经高人指点,在编译时加入 -fno-keep-inline-dllexport 参数(内联符号不导出),这样DLL文件也小了,链接时占用内存也小了.
终于成功了.
编译前先修改几个必改的参数:
build\msw\config.gcc
UNICODE ?= 1 //UNICODE肯定是需要的
CPPFLAGS ?= -Os -fno-keep-inline-dllexport
LDFLAGS ?= -s
RUNTIME_LIBS ?= static
编译器这次使用 tdm-gcc-4.6.1
动态发生版(单DLL文件) (CB需要的)
time(mingw32-make -j2 -f makefile.gcc SHARED=1 BUILD=release MONOLITHIC=1 )
real 20m15.843s
动态调试版(单DLL文件)
time(mingw32-make -j2 -f makefile.gcc SHARED=1 BUILD=debug MONOLITHIC=1 )
real 32m1.234s
静态发生版
time(mingw32-make -j2 -f makefile.gcc SHARED=0 BUILD=release MONOLITHIC=1 )
real 7m29.281s