Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Package Managers
  3. vcpkg

vcpkg

vcpkg · founded 2016

What it is

vcpkg is a free C/C++ package manager for finding and managing libraries across Windows, macOS, Linux, Android, and iOS. Its curated registry includes over 2,300 open-source libraries. Project manifest files can declare dependencies, optional features, and version constraints; baseline sets and pinned package versions support repeatable dependency choices. vcpkg integrates with CMake and MSBuild, with manual integration available for other build systems. Built packages can be cached for use across developer machines and continuous integration runs. Asset caching can mirror source assets and build tools for offline or air-gapped use. Users can create registries for private libraries, patches, and custom packages. The project documents integrations for Visual Studio, Visual Studio Code, CLion, and Qt Creator. vcpkg collects anonymous usage data, with opt-out options through bootstrap, a command-line option, or an environment variable. Firewall access needs depend on the ports being installed. vcpkg was founded in 2016.

For and against

For

  • Free and open-source
  • Curated registry has over 2,300 libraries
  • Integrates with CMake and MSBuild
  • Supports offline and air-gapped use
  • Custom registries can hold private libraries

Against

  • Firewall access needs vary by installed ports
  • Collects anonymous usage data unless users opt out

The verdict

vcpkg combines dependency declarations, version controls, and caching for C/C++ libraries across several platforms. Check the firewall needs for the ports you plan to install and review the available telemetry opt-out methods.

Who it suits

vcpkg suits C and C++ developers who need to manage library dependencies across supported platforms. Its caching and custom registry options may also suit teams working across developer machines or in offline environments.

Plans and prices

Free

Free

Free and open-source C/C++ package manager

Every plan, in full

On the record

Binary caching
Built packages can be cached and reused across developer machines and continuous integration runs.vcpkg.io · read 9 Oct 2026
Build systems
vcpkg integrates with CMake and MSBuild and also supports manual integration with other build systems.vcpkg.io · read 9 Oct 2026
Custom registries
Users can create registries for custom packages, patches, or private libraries.learn.microsoft.com · read 9 Oct 2026
Dependency management
Manifest files let projects declare dependencies, optional features, and version constraints.vcpkg.io · read 9 Oct 2026
Dependency resolution
Yesgithub.com · read 22 Sep 2026
Editors
The project documents integrations for Visual Studio, Visual Studio Code, CLion, and Qt Creator.github.com · read 9 Oct 2026
Notable limitation
The project notes that firewall access requirements depend on which ports are being installed.github.com · read 9 Oct 2026
Offline installation
Yesgithub.com · read 22 Sep 2026
Offline use
Asset caching supports offline and air-gapped environments by mirroring source assets and build tools.vcpkg.io · read 9 Oct 2026
Package catalog
The overview describes a curated registry with over 2,300 open-source libraries.vcpkg.io · read 9 Oct 2026
Package formats
C/C++ librariesgithub.com · read 22 Sep 2026
Private registry auth
Yesgithub.com · read 22 Sep 2026
Purpose
vcpkg is a C/C++ package manager for acquiring and managing libraries.learn.microsoft.com · read 9 Oct 2026
Security
The project says most ports build libraries using their original build systems and download source code and tools from their official distribution locations.github.com · read 9 Oct 2026
Support
The project lists documentation, a development-team support contact, and community channels including Discord and Slack.learn.microsoft.com · read 9 Oct 2026
Supported platforms
Windows,macOS,Linux,Android,iOSgithub.com · read 22 Sep 2026
Telemetry
vcpkg collects anonymous usage data, and users can opt out through bootstrap, a command-line option, or an environment variable.github.com · read 9 Oct 2026
Versioning
Projects can use a baseline version set for reproducible dependency resolution and pin individual package versions.vcpkg.io · read 9 Oct 2026

The review

Overview

vcpkg is a package manager for acquiring and managing C/C++ libraries, aimed at developers who need to keep dependencies consistent across projects and platforms. Its combination of version controls, binary caching, and offline support makes it a strong fit for teams with repeatable builds; projects with port-specific firewall constraints should check those requirements before adopting it.

Key features

Manifest files let projects declare dependencies, optional features, and version constraints. A baseline version set supports reproducible dependency resolution, while individual packages can be pinned when a project needs tighter control. That is useful for teams maintaining stable builds, though it also puts version choices squarely in project configuration.

The curated registry covers more than 2,300 open-source libraries. vcpkg integrates with CMake and MSBuild, and manual integration supports other build systems. Binary caching can reuse built packages across developer machines and continuous integration runs, reducing repeated work when environments share compatible builds.

Asset caching can mirror source assets and build tools for offline or air-gapped use. Custom registries accommodate private libraries, patches, and custom packages. Editors with documented integrations include Visual Studio, Visual Studio Code, CLion, and Qt Creator.

Most ports use libraries’ original build systems and download source code and tools from their official distribution locations. That approach preserves upstream build practices, but firewall access depends on the ports a project installs. vcpkg collects anonymous usage data; users can opt out during bootstrap, with a command-line option, or through an environment variable.

Pricing

PlanPriceWhat it includes
FreefreeFree and open-source C/C++ package manager

There is no free trial because vcpkg is free. The free plan makes the full package manager accessible without a paid tier to weigh against it.

Platforms

vcpkg supports Windows, macOS, Linux, Android, and iOS. Its package format is C/C++ libraries, so platform breadth does not make it a general-purpose manager for unrelated ecosystems.

Who it's for

vcpkg suits C and C++ developers who want declared dependencies, controlled versions, and reusable builds across local development and CI. Its offline asset caching is especially relevant to air-gapped environments, while custom registries make it a practical option for projects with private libraries or patches. Teams should account for firewall access based on the ports they select.

Pros and cons

  • Pro: Baselines and package pins support repeatable dependency resolution, a useful safeguard for projects that need controlled library versions.
  • Pro: Binary and asset caching serve both CI reuse and offline or air-gapped workflows.
  • Pro: CMake and MSBuild integration, plus manual integration for other build systems, accommodates varied C++ workflows.
  • Con: Firewall requirements vary by installed port, which can complicate setup in restricted networks.
  • Con: The package scope is C/C++ libraries; teams working in other ecosystems need a different manager.

Alternatives

For a broader comparison, browse Package Managers. Choose Conan if you want another free, open-source option for C and C++ package and dependency management. For Swift-focused package management, Swift Package Manager is the more relevant choice. Apple-platform projects can also consider CocoaPods or Carthage, both free options for iOS and macOS.

pnpm, Go Modules, npm, and uv are alternatives for readers comparing package managers across other ecosystems.

Verdict

Choose vcpkg for C and C++ projects that need controlled dependency versions, shared build caching, or offline installation across supported platforms. Its free, open-source model and broad integration options are compelling; look elsewhere if you need a manager for another ecosystem, and check firewall access for the specific ports your project requires.

Alternatives to vcpkg

Every alternative, ranked