项目依赖顺序 - VS2013

project dependencies order - VS2013

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

a.lib取决于ab.lib,a.lib取决于ac.lib

ab.lib取决于a.lib,ac.lib取决于a.lib

来自 a.lib 包含其他库使用的基础 classes/functions

文件a.h

class A
{
public:
 virtual void Update();

 // base function declarations here
 // ...
}

来自 ab.lib 覆盖、实现和扩展 class A

文件b.h

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

来自 ac.lib 覆盖、实现和扩展 class A

文件c.h

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

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

感谢您提供的任何帮助。

Let's just say class A's declaration is in a.h

How do you compile ab.cpp (contains class B's definition), by #include'ing "a.h"?
How do you compile ac.cpp (contains class C's definition), by #include'ing "a.h"?

对吗?

这意味着已经设置了编译时依赖项,因此 VS 2013 不会报错。

ab.lib depends on a.lib, ac.lib depends on a.lib

  • 此项目依赖项的顺序是正确的,因为当您尝试构建 ab.lib 时,VS 2013 将首先检查 a.lib 是否是最新的,如果找到 a.lib最新,然后 VS 继续构建 ab.lib。如果不是 a.lib 首先构建。这是显而易见的,因为 ab.lib (class B) 依赖于 a.lib (class A)。 ac.lib 也一样。

希望这能说明问题。