gpt4 book ai didi

compiler-errors - 如何限制ld中 undefined symbol 错误?

转载 作者:行者123 更新时间:2023-12-02 10:47:46 25 4
gpt4 key购买 nike

通常,当缺少库时,链接步骤将显示大量的Undefined symbols错误,例如:
Undefined symbols for architecture x86_64:
"std::__1::error_code::message() const", referenced from:
llvm::errorToErrorCode(llvm::Error) in libLLVMSupport.a(Error.cpp.o)
...

是否有一个ld标志来限制错误数量,类似于-ferror-limit

在OSX上,man ld不显示任何相关标志。

注意:我不是在寻找基于使用终端命令来截断stderr输出(例如head)的解决方案

最佳答案

Darwin/OS X ld或GNU/Linux ld没有这样的选项。

编译器的错误限制选项-clang的-ferror-limit,gcc的-fmax-errors-
从以下事实中汲取动力:编译器具有相同的检测机会
碰到您的代码时,第一个错误,一旦它检测到
第一个是发现更多升级的机会。它编译一些,检测到
错误;尽可能多地编译;检测到另一个错误,再编译更多,
等等。

因此,如果您告诉它最大N个错误,则说明:当您遇到N个错误时,您可以
称之为一天,节省我们的时间。

链接不同。不管有多少个未解析的符号引用链接器机架
随着它消耗输入文件,下一个输入文件可以解决所有问题。所以没有
在使用完最后一个输入文件之前,出现任何 undefined symbol 错误,
然后就拥有了所有人。

因此,如果您最多可以告诉它N个 undefined symbol 错误,那么您可以告诉它:全部
进行工作并检测所有错误,但是我只想了解第一个N。

到目前为止,链接器作者还没有想到这种强大的功能。

关于compiler-errors - 如何限制ld中 undefined symbol 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com