使用调试符号进行编译需要额外的库?

时间:2012-11-08 07:07:14

标签: c++ solaris debug-symbols sunstudio

我有一个奇怪的问题:当使用-g构建目标文件时,链接器突然抱怨libbar缺少符号,我的工具间接通过libfoo。如果没有-g,就不会发生这种情况。

这些符号似乎来自默认参数libfoo中的函数,这些函数来自libbar。但是,我的工具不使用这些功能。

我想知道这个额外的依赖是如何由调试版本引起的 - 是否有可能为所有符号生成这些调试符号,而不仅仅是我使用的符号,对于这些调试符号,还需要默认参数?

这适用于Solaris上的Sun Studio 5.10。

1 个答案:

答案 0 :(得分:1)

也许您还添加了一些定义,例如DEBUG或类似的东西。这些定义可能会使用其他库中的一些额外符号(例如,不同的日志库)。如果你举一个简短的例子,也可以提供帮助