Where Does vcpkg Install Packages?
vcpkg lays out headers and libs per triplet under installed. Classic vs manifest roots and the layout inside.
Last updated
vcpkg installs each package into a triplet folder. In classic mode the root is <VCPKG_ROOT>/installed, so x64-windows headers land in installed/x64-windows/include with libs in lib and DLLs in bin. Debug variants mirror under debug.
Manifest mode instead writes next to your project in vcpkg_installed. Both layouts share the same per triplet tree. Override the root with --x-install-root when the default disk is tight. The toolchain file at scripts/buildsystems/vcpkg.cmake wires CMake to whichever root you use.
Where vcpkg stores this, by platform
%VCPKG_ROOT%\installed
Classic root; per triplet below it, e.g. installed\x64-windows\include and \bin. Manifest projects use vcpkg_installed beside vcpkg.json instead. Copy DLLs from bin next to your exe or extend PATH.
$VCPKG_ROOT/installed
Same triplet tree on Linux and macOS. pkgconfig files sit in lib/pkgconfig or share/pkgconfig per package. --x-install-root relocates the whole tree when needed.
$VCPKG_ROOT/installed
Same layout as Linux. Homebrew style moves of the vcpkg root break nothing as long as VCPKG_ROOT and the toolchain path follow it.
Frequently asked questions
classic vs manifest mode folders in vcpkg
Classic shares one installed tree under the vcpkg root across projects. Manifest gives each project its own vcpkg_installed folder pinned by vcpkg.json. Prefer manifest for reproducible builds; classic is faster for casual installs.
where are vcpkg dlls for my exe
Under installed/<triplet>/bin for release and debug/bin for debug. Either copy them beside your binary or prepend that bin dir to PATH before running.
Notice an outdated path? Let us know.