Linker 什么原因导致链接器只提供;ld返回1退出状态“;消息

Linker 什么原因导致链接器只提供;ld返回1退出状态“;消息,linker,ld,Linker,Ld,我正在为ld使用“-verbose”,试图获得一些有用的信息来查找问题,但它在打印正常“-verbose”输出时打印错误消息: 由以下人员调用: gcc blah1.o [...blah...] blah9.o blahLib1.a blahLib2.a -g -lc -nostdlib -Wl,--warn-constructors -fpic -fno-pic -Wl,-q -Wl,-gc-sections -Wl,--verbose -T blahScript.ld -lm -o blah

我正在为ld使用“-verbose”,试图获得一些有用的信息来查找问题,但它在打印正常“-verbose”输出时打印错误消息:

由以下人员调用:

gcc blah1.o [...blah...] blah9.o blahLib1.a blahLib2.a -g -lc -nostdlib -Wl,--warn-constructors -fpic -fno-pic -Wl,-q -Wl,-gc-sections -Wl,--verbose -T blahScript.ld -lm -o blahProgram.elf

这是一个普遍的错误。通常由对符号的未定义引用引起


我不认为你需要——详细地了解错误。ld在任何情况下都应打印错误原因。试着在不冗长的情况下运行它,并仔细检查输出的每一行。

Fwiw,我今天遇到了同样的问题。原因是磁盘空间不足。在这种情况下,“ld”似乎只返回退出代码1,根本不打印任何消息。增加可用磁盘空间修复了问题。

这是奇怪的部分-没有任何其他打印文本。仅“ld返回1个存在状态”。您可以尝试添加此选项:-Wl,--unresolved symbols=report all。但是,这应该是默认值。隐马尔可夫模型。。。另一件事-您正在使用自定义链接器脚本(blahScript.ld)。我不知道链接器如何响应脚本中的错误;仔细检查脚本内容。你发现问题出在哪里了吗?不幸的是,没有。不过,从那以后我就没有做过这方面的工作,所以我不能说我最近一直在积极尝试解决这个问题。自定义脚本在其他人的机器上工作,所以不是这样。我的构建环境一定有点奇怪。我从没想过会有如此奇怪的行为,非常感谢你的回答。
gcc blah1.o [...blah...] blah9.o blahLib1.a blahLib2.a -g -lc -nostdlib -Wl,--warn-constructors -fpic -fno-pic -Wl,-q -Wl,-gc-sections -Wl,--verbose -T blahScript.ld -lm -o blahProgram.elf