【发布时间】:2010-02-23 08:55:19
【问题描述】:
我一直使用 Visual Studio 依赖项选项来确保,例如,在构建我的 C++ 项目时,任何依赖的 LIB 或 DLL 项目也会被构建。然而,我不断听到人们提到“参考”,并且想知道,随着 VS 2010 的出现,我应该改变我的做法。
使用对依赖项的引用有什么好处,还是前者只是 .NET 功能?我目前正在使用 VS2008。
【问题讨论】:
标签: c++ visual-c++
我一直使用 Visual Studio 依赖项选项来确保,例如,在构建我的 C++ 项目时,任何依赖的 LIB 或 DLL 项目也会被构建。然而,我不断听到人们提到“参考”,并且想知道,随着 VS 2010 的出现,我应该改变我的做法。
使用对依赖项的引用有什么好处,还是前者只是 .NET 功能?我目前正在使用 VS2008。
【问题讨论】:
标签: c++ visual-c++
我更喜欢使用引用,因为这些是在 VS 2005 中为非托管 C++ 引入的。不同之处(从非托管 C++ 开发人员的角度来看)是引用存储在 .vcproj 文件中,而项目依赖项存储在.sln 文件。
这种差异意味着当您在不同的解决方案中重用您的项目时(我经常这样做),您不需要再次重新定义项目间的关系。
Visual Studio 足够聪明,在建立引用关系时不会严重依赖项目的路径。
【讨论】:
过去在 VS2008 中,项目对静态库的依赖会自动导致正确的配置(调试|发布)被链接。看起来 VS2010 在迁移到 msbuild 后失去了这种能力。叹息。
【讨论】:
'References' 是 .NET 的东西,不适用于本机 C++;它们与依赖项目不同。解决方案中的依赖项目是必须在另一个项目之前(或之后取决于依赖项的方式)构建的项目。
引用是包含项目中使用的类型的程序集。本机 C++ 项目中的类似事物可能是项目使用的包含文件和链接的 .lib 文件(本机 C++ 项目“使用”这些项目,即使它们不是在解决方案的另一个步骤中构建的) .
【讨论】: