在发布模式下构建需要其他项目lib文件,但调试模式不需要

时间:2014-09-18 04:39:02

标签: c++ visual-c++ release-mode

我在C ++项目中有两个项目。在调试模式下构建工作正常但在链接时它在发布模式下失败。基本上,似乎每个项目都需要其他的lib文件(循环依赖)?

为什么这只会在重新模式中出现问题?也许优化?

我在做什么:

项目A的基础类型为ABase。 项目B具有基本类型DerivedFromABase(源自ABase)。它包括ProjectA \ ABase.h。因此项目B依赖于项目A.

在项目A中,有一个文件Process.cpp。此文件使用指向ABase的指针,ABase可以是ABase类型或DerivedFromABase类型(尽管所有指针都被转换为指向ABase的指针)。

如果我在项目A的Process.cpp中包含项目B的DerivedFromABase.h,项目A现在似乎需要项目B的lib文件,但仅在发布模式下< / strong>即可。即使从未明确使用DerivedFromABase类,也会发生这种情况。调试模式编译没有问题。

编辑:我不一定对使其工作的变通办法感兴趣。这只是测试新功能的快速入侵(这些项目是众多项目中的两项) - 我正在重构代码以正确实现它,因此项目A无需了解DerivedFromABase。我对它在Debug中的工作原理感兴趣而不是Release。

0 个答案:

没有答案