vcpkg

Microsoft’s own documentation describes vcpkg as “a free and open-source C/C++ package manager maintained by Microsoft and the C++ community that runs on Windows, macOS, and Linux.” It is written in C++ and CMake scripts, and it is designed specifically to address the unique pain points of managing C and C++ libraries, a problem language that, unlike Java or Python, never had a single standard package ecosystem.

vcpkg works through ports and triplets. A port is a versioned build recipe, expressed as a CMake script, that produces a package; a triplet captures the target build environment (CPU, OS, compiler, runtime) in a single name, with over 70 triplets provided by default. To install a library, vcpkg runs the port’s recipe, downloading source and building it for the chosen triplet so that the resulting binaries match the consumer’s configuration, which sidesteps the ABI-compatibility traps of distributing pre-built binaries.

The docs highlight features aimed at reproducibility and scale: binary caching so that other machines or CI runs can reuse already-built packages, manifest files that declare direct dependencies and can be checked into source control, and a versioning design built around a baseline version set that gives “hassle-free, conflict-free dependency management with full reproducibility.” A curated registry offers over 2,300 open-source libraries, and teams can host their own registries for private or patched packages.

Microsoft positions vcpkg as complementary to system package managers and integrates it automatically with CMake and MSBuild, making it a central part of the modern effort to give C++ the kind of dependency management that other ecosystems have long enjoyed.

Sources

Last verified June 8, 2026