我有一个恼人的CMake问题。我有一个包含多个目录的项目,例如(理论上):
- 编译器 - >生成compiler.exe和compiler.dll
- 这是纯粹的C ++
- 然而,由于使用了一些奇特的东西,compiler.dll需要链接到machine.dll(见下文)......
- 并且compiler.dll是一个SHARED库
- 机器 - >生成machine.exe和machine.dll -
- 这是一半C和一半C ++。 C ++部分需要链接到compiler.dll
所以这里出现了循环依赖,在Linux上非常优雅地解决了,但是在MSVS2012上,链接器抱怨LNK2019 ...未解析的外部符号。这是可以理解的,因为当我看到编译时,顺序如下:
- 它编译机器的C文件
- 它试图编译机器的C ++文件......这里它在链接失败,因为编译器的C ++文件还没有编译......
醇>
如何解决此问题?