您的位置:首页

今天重新编译了一下 wxWidgets

2011-10-03 20:38 134 查看
以前编译的一份太慢.可能还有些问题.
于是这次重新编译.想使用静态的方式.
结果在链接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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: