Skip to content

vcpkg

A free C/C++ package manager that downloads and builds libraries for your projects.

Stars
27.6k
Forks
7.8k
Licence
MIT
Language
CMake
Last update
4 days ago
Type
Dev tool

What it is

vcpkg is a free, open-source package manager for C and C++ libraries, maintained by Microsoft and the C++ community. It fetches libraries from a large registry, builds them, and makes them available to your project's build system. It runs on Windows, macOS, and Linux and works with CMake, MSBuild, and other build systems.

  • Add a library such as fmt to a CMake project using a manifest file
  • Install a library from the command line with a single install command
  • Pin dependency versions so builds are consistent across machines
  • Cache built binaries to avoid rebuilding packages

Great for

  • C and C++ developers who need third-party libraries in their projects
  • Teams using Visual Studio, CMake, or MSBuild
  • Developers who want pinned, reproducible dependency versions via manifests
  • Projects that need to share built binaries across machines using binary caching

Not ideal for

  • Developers working in languages other than C/C++, since it targets C/C++ packages
  • Air-gapped environments without a prior connected setup, because ports download source and build tools from official locations and need access during install
  • Anyone who needs a library that is not in the registry without being willing to contribute a package
Step-by-step guide: how to use vcpkgInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    Clone the repository

    git clone https://github.com/microsoft/vcpkg
  2. 2

    Run it

    • Follow one of the official quick start guides for your build system (CMake, MSBuild, or other)
    • Create a manifest with vcpkg new --application and add a package with vcpkg add port fmt
    • Or install a package directly with vcpkg install fmt
    • Integrate with your build system and run vcpkg help for command details
  3. 3

    Get the most out of it

    • Use manifest mode to declare and version your project's dependencies
    • Enable binary caching to reuse built packages
    • Use asset caching to support offline or restricted-network builds
    • Add tab completion to your terminal, as described in the README

Downloads

Strengths

  • Large collection of open-source C/C++ libraries in one registry
  • Works across Windows, macOS, and Linux and with several build systems
  • Supports manifests, version control of dependencies, and binary caching

Trade-offs

  • Scope is limited to C and C++ libraries
  • Some ports download sources and tools from external locations, so network access is needed during installs
  • Telemetry is on by default and must be disabled manually if unwanted

How it compares

ProjectStarsTypeLevelUpdatedBest for
vcpkg (this)27.6kDev toolintermediate4 days agoC and C++ developers who need third-party libraries in their projects
awesome-cpp74.2kCurated listbeginner6 days agoC++ developers looking for a library for a specific task
composer29.6kDev toolbeginner4 days agoPHP developers starting a new project who want standard third-party libraries
infer15.7kDev toolintermediate4 days agoDevelopers working on Java, C, C++, or Objective-C codebases
calculator31.1kAppintermediate13 days agoWindows 11 users who want to read or modify the built-in calculator
UniGetUI26.8kAppbeginner4 days agoWindows users who already use WinGet, Scoop or Chocolatey and want one place to manage them

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.