MSVC依赖关系与参考文献

时间:2010-02-23 08:55:19

标签: c++ visual-c++

我一直使用Visual Studio Dependencies选项来确保,例如,在构建我的C ++项目时,还构建了任何依赖的LIB或DLL项目。但是,我一直听到人们提到'参考'并且想知道,随着VS 2010即将来临,我应该改变我的做法。

使用对依赖项的引用是否有任何好处,或者前者只是.NET功能?我目前正在使用VS2008。

3 个答案:

答案 0 :(得分:16)

我更喜欢使用引用,因为这些是在VS 2005中为非托管C ++引入的。不同之处(在非托管C ++开发人员的角度),引用存储在 .vcproj 文件中,而项目依赖项存储在 .sln 档案。

这种差异意味着当您在不同的解决方案中重复使用项目时(我经常这样做),您不需要再次重新定义项目间关系。

Visual Studio非常聪明,在建立引用关系时不会严重依赖项目的路径。

答案 1 :(得分:1)

'References'是.NET的东西,不适用于原生C ++;它们与依赖项目不同。解决方案中的依赖项目是必须在另一个项目之前(或依赖于依赖项的方式)之后构建的项目。

引用是包含项目中使用的类型的程序集。本机C ++项目中的类似事情可能是项目使用的包含文件和链接的.lib文件(本机C ++项目“消耗”这些项目,即使它们不是在解决方案的另一个步骤中构建的)

答案 2 :(得分:1)

过去在VS2008中,对静态库的项目依赖会自动导致正确的配置(Debug | Release)被链接。看起来VS2010在移动到msbuild时失去了这种能力。叹息。