2

我正在为 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
4

2 回答 2

2

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

于 2019-04-05T10:39:26.453 回答
1

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

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

于 2009-05-27T22:39:00.323 回答