项目依赖顺序 - VS2013

时间:2015-08-28 09:22:54

标签: c++ visual-studio visual-c++ dependencies dependency-properties

我的项目依赖顺序应该是:

a.lib依赖于ab.lib,a.lib依赖于ac.lib

ab.lib依赖于a.lib,ac.lib依赖于a.lib

来自a.lib 的

包含其他lib使用的基类/函数

文件a.h

class A
{
public:
 virtual void Update();

 // base function declarations here
 // ...
}
来自ab.lib的

会覆盖,实现和扩展A类

文件b.h

#include "a.h"
class B : public A
{
public:
 // overridden functions here
 // ...
 void Update();
}
来自ac.lib的

会覆盖,实现和扩展A类

FILE c.h

#include "a.h"
class C : public A
{
public:
 // overridden functions here
 // ...
 void Update();
}

测试了一个类似虽然比这个简化版本更复杂的场景Visual Studio 2013似乎并不关心我设置依赖关系的方式。这让我很担心。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

  

我们只是说A级的声明在a.h

中      

如何编译ab.cpp(包含B类定义),#include" a.h"?
   如何编译ac.cpp(包含C类的定义),#include" a.h"?

右?

这意味着已经设置了编译时间依赖性,因此VS 2013不会抱怨。

  

ab.lib依赖于a.lib,ac.lib依赖于a.lib

  • 此项目依赖项是顺序正确的,因为当您尝试构建ab.lib时,VS 2013将首先检查a.lib是否是最新的,如果找到a.lib是最新的,那么VS继续构建ab.lib。如果不是首先构建a.lib。这很明显,因为ab.lib(B类)依赖于a.lib(A类)。与ac.lib相同。

希望这澄清。