【发布时间】:2011-09-06 13:29:43
【问题描述】:
抱歉问题标题含糊不清,我只是想确定一些事情。
静态库不与其他静态库链接,对吧?
所以当我编写一个 slib:A,它使用另一个:B 的功能时,我所需要提供的只是 B 到 A 的标头,而且只有那些,即使 A 实际使用 B 的功能? 是吗?
只要使用A的exe:X,是否已将B.lib指定为链接器输入?
所以在链接时,链接器获取 A.lib,它基本上只知道 B 的函数在其代码中的某个位置被调用,并以某种方式从 B.lib 填充该信息,使 A.lib 成为“完整的”,在 X 与它现在工作的部分链接之前?
这些问题背后的动机是摆脱一些链接器警告 4006 和丢弃的双重定义,我认为这应该可以解决问题,如果这实际上是一种有效的方法。
【问题讨论】:
标签: c++ linker dependencies static-libraries