【发布时间】:2012-12-14 09:31:58
【问题描述】:
我正在编写一个程序(使用 C++),它需要多个 VS 项目,我想将其放入同一个 VS 解决方案中。我正在使用 Visual Studio 2010。
这只是想要的架构:我正在为我的项目使用第 3 方库 (A),我拥有使用源代码编译的所有头文件和 .lib 文件。
使用这个库,我正在编写自己的类和函数。那是我的项目(B)。
然后我想为用户开发两个界面:命令行界面(C1)和GUI界面(C2),它们使用(B)中定义的类和函数。
A <-- B <-- C1
<-- C2
我是 Visual Studio 的新手,我不知道如何正确处理这些依赖项。 我应该使用项目依赖项(在解决方案属性中)还是引用(在项目属性中)?事实上,我不确定依赖项和引用到底在做什么。
我应该将 B 编译到某个 .lib 库中,还是做其他事情?如果我这样做,必须只将 B.lib 链接到我的 C1 和 C2 项目,或者我应该也链接 A.lib(换句话说,A.lib 的内容是否包含在 B.lib 中?)。 当然,我希望能够很好地处理依赖关系,以便始终使用每个项目的最新版本。
有什么好的方法吗? 提前谢谢,祝你周末愉快:)
【问题讨论】:
-
你的做法对我来说很好,C1/C2依赖B,B依赖A。如果能做b.lib就更好了。它通过将代码移动到
modules来简化解决方案;项目依赖使always work with the up-to-date version of each project成为可能。 -
谢谢。所以依赖项是我猜的构建顺序。我应该使用引用吗?
-
@Maxx 是的,项目依赖项用于推断构建顺序(您无法手动更改)。至于引用和依赖项之间的区别,Visual C++ Team Blog entry 解释了在 Visual Studio 2010 中实现的这两个概念。
标签: c++ visual-studio dependencies project