gpt4 book ai didi

c++ - 项目依赖顺序 - VS2013

转载 作者:行者123 更新时间:2023-11-30 05:39:37 25 4
gpt4 key购买 nike

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

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

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

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

FILE a.h

class A
{
public:
virtual void Update();

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

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

FILE 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 似乎并不关心我设置依赖项的方式。这让我很担心。

感谢您提供的任何帮助。

最佳答案

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(B 类)依赖于 a.lib(A 类)。与 ac.lib 相同。

希望这能澄清。

关于c++ - 项目依赖顺序 - VS2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32267623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com