什么导致链接器只给出“ld返回1退出状态”消息?

时间:2009-05-27 22:09:01

标签: linker ld

我正在为ld使用“--verbose”试图找到有用的东西来查找问题,但它在打印正常的“--verbose”输出中打印错误信息:

[...blah - dump of linker script...]
attempt to open blah1.o succeeded
blah1.o
attempt to open blah2.o succeeded
blah2.o
[...blah - more opens that succeeded...]
attempt to open blah9.o succeeded
blah9.o
attemcollect2: ld returned 1 exit status

由:

调用
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

2 个答案:

答案 0 :(得分:1)

这是一般错误。通常由未定义的符号引用引起。

我认为你不需要 - 看到错误。 ld应该在任何情况下打印错误原因。尝试在没有--verbose的情况下运行它并仔细检查输出的每一行。

答案 1 :(得分:0)

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