A free, open-source, cross-platform C/C++ package manager with a large collection of libraries and enterprise-ready features.
vcpkg is a free, open-source package manager for C and C++ that simplifies the process of acquiring, building, and managing dependencies across multiple platforms. It provides a large collection of libraries and integrates with various build systems to streamline development workflows. The tool is designed to address the unique challenges C/C++ developers face with dependency management, such as versioning, cross-platform compatibility, and build integration.
C and C++ developers working on cross-platform projects who need a reliable way to manage external libraries and dependencies. It is particularly useful for teams using CMake, MSBuild, or other build systems who want to avoid manual library handling.
Developers choose vcpkg for its extensive library registry, seamless integration with popular build systems and editors, and robust features like version control and binary caching. Its cross-platform support and enterprise-ready capabilities make it a versatile tool for both open-source and commercial C/C++ projects.
C++ Library Manager for Windows, Linux, and MacOS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
vcpkg provides a vast collection of open-source C/C++ libraries, simplifying dependency acquisition without manual hunting, as highlighted in its large library collection feature.
It works seamlessly on Windows, macOS, and Linux, directly addressing the pain points of C/C++ developers across different operating systems, per the README's emphasis on cross-platform capabilities.
Easily integrates with CMake, MSBuild, and other build systems, with dedicated quick-start guides for each, streamlining dependency management in diverse workflows.
Features like version control, binary caching, and asset caching enable reproducible builds and speed up CI/CD pipelines, as documented in the key features section.
vcpkg typically builds dependencies from source, which can lead to slow initial installations unless binary caching is configured, a trade-off mentioned in the binary caching documentation.
It collects anonymous usage data by default, requiring manual opt-out via command-line flags or environment variables, which may not align with privacy-focused users or organizational policies.
Creating and maintaining custom packages or registries involves a steep learning curve with CMake scripts and detailed maintainer guides, making it less accessible for casual contributors.