Bruice
Bruice

Reputation: 663

Visual Studio: project reference vs link static lib

In Visual Studio when I want use existing project in my solution I can either add it as a reference, or add it as a statically linked lib in other project properties. I'm confused when I should use with option and which benefits those two approached has. PS: talking about C++ projects.

Upvotes: 4

Views: 1354

Answers (1)

Barrnet Chou
Barrnet Chou

Reputation: 1931

In my opinion, when a project needs to use a library, you have to do at least two things:

  1. Include header files corresponding to the library
  2. When linking, add the corresponding .lib in VS

File When there are multiple projects in your solution, for example, Project A is exe and Project B is static lib. If Project A depends on Project B, you need to do three things:

  1. Include B's header file in A project
  2. Add b.lib to the link option of Project A, and pay attention to the difference between debug/relase
  3. Whenever B is updated, you need to compile B first and then recompile A.

Since the above actions are standard actions, VS provides a function called Add Reference, which automatically completes these two actions:

  1. When linking A, automatically bring b.lib, debug/release can automatically distinguish
  2. When project B changes, if project B is compiled before project A is compiled

If you want to konw more information, you could refer to Microsoft Docs about Create and use a static library and Manage references in a project.

Upvotes: 3

Related Questions