ld.exe在MinGW中崩溃

时间:2014-03-07 22:00:45

标签: c++ windows gcc linker mingw

我最近买了一台运行Windows 8的新笔记本电脑(我想用Ubuntu进行双启动,但还没有开始使用它)。我一直在努力将我的项目移植到Windows并让他们在这里工作。我通过CodeBlocks IDE使用MinGW和GCC。

我已经成功地将所有库构建成.a文件,包括Boost(需要构建的几个部分),SFML和wxWidgets,我正在编译它们作为调试静态库。但是,当我尝试构建我的项目时,我进入链接阶段,然后我得到标准Windows“ld.exe已停止响应”对话框。当我关闭它时,链接器完成,我在CB构建日志中得到以下输出:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: BFD (GNU Binutils) 2.23.2 assertion fail ../../binutils-2.23.2/bfd/cofflink.c:2389
collect2.exe: error: ld returned 5 exit status

我在wxWidgets论坛上发现了几个线程,当人们构建wxWidgets时ld.exe崩溃了。每个人都声称要修复wxWidgets,并在C ++标志中传递-fno-keep-inline-dllexport。我用该标志重建了wxWidgets,并使用相同的标志在CodeBlocks中重建了我的整个程序。仍然是相同的输出。

值得注意的是,我的程序需要大约一分钟来编译每个目标文件,大约需要4分钟来运行链接器,这比我的旧笔记本电脑要慢得多。我的新笔记本电脑有6GB的RAM和一个2.0GHz的4核AMD CPU,我的旧笔记本电脑是Ubuntu,只有1GB的RAM和1.0GHz的1核Intel CPU。

任何建议都会有所帮助。如果您需要更多信息,我愿意提供。

0 个答案:

没有答案