我正在编写一个程序(用C ++编写),这需要几个VS项目,我想把它放在同一个VS解决方案中。我正在使用Visual Studio 2010。
这里只是想要的架构:我正在为我的项目使用第三方库(A),我有所有的头文件和.lib文件,我用源代码编译。
有了这个库,我正在编写自己的类和函数。那是我的项目(B)。
然后我想为用户开发两个接口:命令行接口(C1)和GUI接口(C2),它们使用(B)中定义的类和函数。
A <-- B <-- C1
<-- C2
我是Visual Studio的新手,我不知道如何正确处理这些依赖项。 我应该使用项目依赖项(在解决方案属性中)还是引用(在项目属性中)?实际上,我不确定哪些依赖项和引用正在做什么。
我应该将B编译成一些.lib库,还是做其他的事情?如果我这样做,只需要将B.lib链接到我的C1和C2项目,或者我是否还要链接A.lib(换句话说,是否在B.lib中以某种方式包含A.lib的内容?)。 当然,我希望处理好依赖项,以便始终使用每个项目的最新版本。
有没有好办法呢? 提前感谢,并有一个愉快的周末:)
答案 0 :(得分:2)
我工作的公司的政策是使用项目参考。
项目引用更有用,因为它们保留了给定项目依赖于项目的项目的信息。如果您必须将项目添加到新解决方案,则不必返回旧的解决方案文件以找出给定项目所依赖的项目。
答案 1 :(得分:2)
是。使用项目参考。
Here is the official answer from Microsoft。虽然该页面讨论的是.NET,但它对于原生项目也几乎相同。
TL; DR版本:
项目参考的优点:
这是另一篇关于Project Settings Changes in VS 2010的好文章,该文章还指出引用比项目依赖项更受欢迎。事实上,文章还说VS2010解决方案转换器会自动检测项目依赖关系,并将它们更改为项目引用。