On this page
Overview
vcpkg is a package manager for acquiring C and C++ libraries and integrating them with a project’s build system. It runs on Windows, macOS, and Linux and supports both manifest-based dependency declarations and direct command-line installation.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Record dependencies in a manifest for more reproducible builds
Manifest mode keeps required ports in vcpkg.json beside the project source. Version constraints and baselines help development and continuous-integration environments resolve the same dependency set instead of relying on machine-specific manual installation.
Sources: [2]
Connect packages to CMake, MSBuild, and other build environments
vcpkg provides integrations for CMake and MSBuild as well as manual paths for other build systems. Custom registries, binary caching, and asset caching support internal package distribution, reduced rebuild time, and network-restricted environments.
Sources: [2]
Best fit
Fits teams that need consistent C and C++ dependencies across environments
It is a strong fit for projects that want one dependency declaration across Windows, macOS, and Linux builds instead of developer-specific installation steps. It also supports organizations that maintain internal libraries as ports and distribute them through their own registries.
Sources: [2]
Before adoption
Treat port definitions, downloads, and build actions as a trust boundary
Many ports use the upstream project’s build system and download source code or build tools from external distribution locations. Restricted and offline environments need an explicit network and asset-cache plan. The vcpkg repository’s MIT License is separate from the licenses of installed libraries. Official opt-out controls are available for users who do not want usage telemetry collected.
Official sources
- [1]microsoft/vcpkg repository metadata(2026-10-04)
- [2]vcpkg 2026.07.29 README(2026-10-04)
- [3]vcpkg 2026.07.29 release(2026-10-04)
- [4]vcpkg 2026.07.29 Unix bootstrap script(2026-10-04)
- [5]vcpkg 2026.07.29 MIT license(2026-10-04)
Supplemental curator note
For C and C++ dependency management, evaluate reproducibility through baselines, caches, and internal registries rather than port count alone. Each installed library still has its own license and supply-chain sources to review.
Try it in 3 steps
- 1
Check out the reviewed release
Pin the trial to the release reviewed for this guide so port definitions do not change underneath it.
git clone --branch 2026.07.29 --depth 1 https://github.com/microsoft/vcpkg.git && cd vcpkg - 2
Bootstrap the Unix executable
This command is for macOS or Linux. On Windows, use
bootstrap-vcpkg.bat -disableMetricsfrom the same checkout../bootstrap-vcpkg.sh -disableMetrics - 3
Install a small example library
Install the fmt port used by the official README to verify package retrieval and building.
./vcpkg install fmt
Growth
Growth trends · Last 30 days
27,515 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 384
- Open PRs
- 258
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- vcpkg
- visual-studio
- libraries
- windows
- cpp
- package-manager
- packages
- c
- cplusplus
- cmake
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- React Native126,790 Stars
1 shared tag(s) · 1 shared category(s)
native mobile UI with React, stable 0.87.1, and a framework-first path
C++ - Electron123,376 Stars
1 shared tag(s) · 1 shared category(s)
bundle Chromium and Node.js to build desktop applications for three major operating systems with HTML, CSS, and JavaScript
C++ - Windows Terminal105,072 Stars
1 shared tag(s) · 1 shared category(s)
Use tabs, panes, and multiple command-line profiles in one modern Windows terminal
C++ - GPT4All77,388 Stars
1 shared tag(s) · 1 shared category(s)
choose a model and start local chat and document search on a personal computer
C++ - LLVM Project40,912 Stars
1 shared tag(s) · 1 shared category(s)
shared IR, optimizer, and backends for compiler and toolchain development
LLVM - Folly30,550 Stars
1 shared tag(s) · 1 shared category(s)
use a practical, performance-focused collection of C++20 core components developed for large-scale Meta systems
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.