我有一个奇怪的问题:当使用-g
构建目标文件时,链接器突然抱怨libbar
缺少符号,我的工具间接通过libfoo
。如果没有-g
,就不会发生这种情况。
这些符号似乎来自默认参数libfoo
中的函数,这些函数来自libbar
。但是,我的工具不使用这些功能。
我想知道这个额外的依赖是如何由调试版本引起的 - 是否有可能为所有符号生成这些调试符号,而不仅仅是我使用的符号,对于这些调试符号,还需要默认参数?
这适用于Solaris上的Sun Studio 5.10。
答案 0 :(得分:1)
也许您还添加了一些定义,例如DEBUG或类似的东西。这些定义可能会使用其他库中的一些额外符号(例如,不同的日志库)。如果你举一个简短的例子,也可以提供帮助