我的项目依赖顺序应该是:
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似乎并不关心我设置依赖关系的方式。这让我很担心。
感谢您提供的任何帮助。
答案 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
希望这澄清。