Visual Studio:项目参考 vs link 静态库

Visual Studio: project reference vs link static lib

在 Visual Studio 中,当我想在我的解决方案中使用现有项目时,我可以将其添加为参考,或将其添加为其他项目属性中的静态链接库。我很困惑什么时候应该使用 with 选项以及这两个方法有哪些好处。 PS: 谈论C++项目。

在我看来,当一个项目需要使用一个库时,你至少要做两件事:

  1. 包含库对应的头文件
  2. 在linking时,在VS中添加对应的.lib

文件当你的解决方案中有多个项目时,比如项目A是exe,项目B是静态库。如果A项目依赖B项目,需要做三件事:

  1. 在A工程中包含B的头文件
  2. 在项目A的link选项中加入b.lib,注意debug/relase
  3. 的区别
  4. 每次更新B,都需要先编译B,再重新编译A。

由于以上动作都是标准动作,VS提供了一个函数叫Add Reference,自动完成这两个动作:

  1. 当linking A时,自动带上b.lib,debug/release可以自动区分
  2. 当项目B改变时,如果项目B先于项目A编译

如果您想了解更多信息,可以参考有关Create and use a static library and Manage references in a project的Microsoft Docs。