gpt4 book ai didi

c++ - gcc 链接器 : which input libraries are used?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:24 26 4
gpt4 key购买 nike

我正在调试一些链接器问题(“ undefined reference ”符号应该在我正在链接的库中),我不确定编译器是否使用了正确的共享库。

我正在寻找的输出类似于 ldd 生成的输出,即具有完整路径的库列表...但我不能使用 ldd,因为之前编译失败产生任何输出。

到目前为止,我最接近的是转储库搜索路径并一个一个地检查目录以查找有问题的共享库;我想知道这样做是否更好?

最佳答案

I'm debugging some linker issues

如果您显示实际错误和您使用的链接命令行,您会得到很多更好的答案。

很可能你做了这样的事情:

gcc -lfoo main.c

其中 libfoo.so 是定义必要符号的库。阅读this理解为什么上面的命令行是错误的。

but I can't use ldd as the compilation fails before producing any output

您之前的声明说您的链接阶段失败了。编译和链接不是一回事,请不要混淆。

I was wondering whether it was a better way of doing this

要找出链接器正在使用哪些库,请阅读 man ld。在 UNIX 系统上,此命令可能提供更好的方法:

gcc ... -Wl,-t

附言另请注意,没有“gcc 链接器”之类的东西——它们是完全不同的工具。

关于c++ - gcc 链接器 : which input libraries are used?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21488100/

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