collect2.exe:错误:ld返回5退出状态

时间:2017-07-13 10:21:50

标签: c++ dll qt5 msys2

我最近更新了所有msys2包,现在我无法构建我的项目。 链接其中一个.dlls - 0x12345时会发生错误。

我不清楚错误消息。状态5意味着什么?

  

collect2.exe:错误:ld返回5退出状态

完整信息:

0x2345

gcc 7.1.0,Qt5 5.9.1,qmake,Win7 x64

2 个答案:

答案 0 :(得分:2)

我有同样的问题。 我将我的项目与静态库链接。 在mingw64升级之后,我的项目停止构建具有相同的错误。 我发现调试版本已成功构建。所以我比较了链接器标志。在发布版本Qt中添加此标记“-Wl,-s,--relax,--gc-section”。 我找不到有关“-s”标志的任何信息,但由于this链接,我发现-gc-section标志是失败的原因。 我将以下代码添加到我的.pro文件中,并且它正常工作

mingw {
        contains(QT_ARCH, x86_64): {
            LIBS+=-Wl,--no-gc-sections
        }
}

答案 1 :(得分:0)

如果有人发现同样的问题,请在编译器中添加以下标志-Wl,-verbose(或--verbose到链接器)。这将显示未找到哪个库或为您提供有关该问题的更多信息。