Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success!
For short description of available commands, run
- Github: https://github.com/microsoft/vcpkg
- Slack: https://cpplang.now.sh/, the #vcpkg channel
- Docs: Documentation
|Windows (x86, x64, arm, uwp)||MacOS||Linux|
- Windows 10, 8.1, 7, Linux, or MacOS
- Visual Studio 2015 Update 3 or newer (on Windows)
- gcc >= 7 or equivalent clang (on Linux)
- Optional: CMake 3.12.4
To get started:
> git clone https://github.com/Microsoft/vcpkg.git > cd vcpkg PS> .\bootstrap-vcpkg.bat Linux:~/$ ./bootstrap-vcpkg.sh
Then, to hook up user-wide integration, run (note: requires admin on first use)
PS> .\vcpkg integrate install Linux:~/$ ./vcpkg integrate install
Install any packages with
PS> .\vcpkg install sdl2 curl Linux:~/$ ./vcpkg install sdl2 curl
The best way to use installed libraries with CMake is via the toolchain file
scripts\buildsystems\vcpkg.cmake. To use this file, you simply need to add it onto your CMake command line as
In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be
#include'd and used in your project without additional configuration.
For more information, see our using a package example for the specifics. If your library is not present in vcpkg catalog, you can open an issue on the GitHub repo where the dev team and the community can see it and potentially create the port file for this library.
Additional notes on macOS and Linux support can be found in the official announcement.
Tab-Completion / Auto-Completion
vcpkg supports auto-completion of commands, package names, options etc in Powershell and bash. To enable tab-completion, use one of the following:
PS> .\vcpkg integrate powershell Linux:~/$ ./vcpkg integrate bash
and restart your console.
Our docs are now also available online at ReadTheDocs: https://vcpkg.readthedocs.io/!
See a 4 minute video demo.
Vcpkg is built with your contributions. Here are some ways you can contribute:
Please refer to our Contribution guidelines for more details.
Code licensed under the MIT License.