我正在尝试编译Qt(Windows 7,msys下的mingw32-g ++ 32位)和ld内存不足。有谁知道为什么?或者也许是一种解决方法?谢谢!
$ g++ -mthreads -shared -Wl,--out-implib,i:/Programs/Qt/lib/libQtGuid4.a -o ../ ../lib/QtGuid4.dll object_script.QtGuid.Debug -L'i:/Programs/Qt/lib' -L'i:/Pro grams/Qt/lib' -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 tmp/obj/debug_shared/QtGuid_resource_res.o -lmsimg32 -lshell32 -lQtCored4 -lz i:/programs/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe: o ut of memory allocating 133614056 bytes collect2.exe: error: ld returned 1 exit status
答案 0 :(得分:5)
感谢所有帮助我找到问题解决方案的评论者。我所做的是用大地址识别版本替换ld
。我从bin文件夹中的this MinGW build下载了它。链接该分发的人员的帖子是here。我希望这可以帮助遇到这个问题的其他人。
答案 1 :(得分:2)
如果安装当前版本的MinGW 4.6或更新版本,则编译QT应指定标志:
configure -platform win32-g ++ - 4.6
" mkspecs" for win32-g ++ 4.6已经定义了标志-fno-keep-inline-dllexport来解决你的问题。
答案 2 :(得分:0)
我尝试从其他地方下载ld.exe,但它不适合我的工具包(TDM-GCC)。某些插件无法加载。希望制作ld.exe LAA并不是那么难。我已经在十六进制编辑器中打开了ld.exe,并在偏移0x96“0f 03”到“2f 03”处打了补丁。这对我有用。