6

我正在尝试编译 Qt(Windows 7,msys 下的 mingw32-g++ 32 位)并且 ld 内存不足。有谁知道为什么?或者也许是一种解决方法?谢谢!

$ g++ -mthreads -shared -Wl,--out-imlib,i:/Programs/Qt/lib/libQtGuid4.a -o ../
../lib/QtGuid4.dll object_script.QtGuid.Debug -L'i:/Programs/Qt/lib' -L'i:/Pro
克/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

我:/programs/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/ld.exe:o
ut 内存分配 133614056 字节
collect2.exe:错误:ld 返回 1 退出状态

4

3 回答 3

5

感谢所有帮助我找到解决此问题的方法的评论者。我所做的是ld用一个大地址感知版本替换。我从bin 文件夹中的这个MinGW 版本下载了它。链接该发行版的人的帖子在这里。我希望这可以帮助遇到此问题的其他人。

于 2012-08-16T06:28:31.733 回答
2

如果您安装当前版本的 MinGW 4.6 或更高版本,则编译 QT 应指定标志:

配置-平台 win32-g++-4.6

在 win32-g++4.6 的“mkspecs”中已经定义了标志 -fno-keep-inline-dllexport 可以解决您的问题。

于 2012-11-17T12:52:58.677 回答
1

我试图从其他地方下载 ld.exe,但它不适合我的工具包 (TDM-GCC)。某些插件无法加载。希望制作 ld.exe LAA 并不难。我在十六进制编辑器中打开了 ld.exe,并在偏移量 0x96“0f 03”到“2f 03”处进行了修补。这对我有用。

于 2017-01-28T21:00:57.057 回答