允许使用静态库进行循环依赖的编译和链接?

时间:2017-05-04 20:22:00

标签: c++ linker

我交给的项目似乎编译和链接很好,即使解决方案中的静态库之间显然存在许多循环依赖关系。

static library "A" constructs a class from static library "B"
static library "B" constructs a class from static library "A"
Executable C constructs classes from "A" and B"

我认为这不可行。 应该是吗?是这样,有人可以详细解释为什么这有效吗?

当我尝试转换" A"和" B"对于动态库,我无法构建任何一个没有链接错误。

2 个答案:

答案 0 :(得分:1)

它的工作原理是因为没有输入链接符号。只要最终解决了所有符号,链接基本上就会成功。

答案 1 :(得分:1)

  

我认为这不可能。

你错了。

  

是这样,有人可以详细解释为什么会有效吗?

这是一个explanation。这是another