项目依赖顺序- VS2013

project dependencies order - VS2013

本文关键字:VS2013 顺序 依赖 项目      更新时间:2023-10-16

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

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

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

from a.lib包含其他库使用的基类/函数

文件a.h

class A
{
public:
 virtual void Update();
 // base function declarations here
 // ...
}

from ab.lib覆盖、实现和扩展类A

文件b.h

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

from ac.lib覆盖、实现和扩展类A

文件刘昀

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

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

感谢您提供的帮助

假设类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也是如此。