在Windows 11安装vcpkg可自动管理C++开源库;需用PowerShell克隆至无空格路径(如D:cpkg),运行bootstrap-vcpkg.bat构建,再以管理员权限执行integrate install集成到VS2022,支持全局或清单模式安装库,并通过CMAKE_TOOLCHAIN_FILE在CMake中启用。

在 Windows 11 上安装 vcpkg 是为 C++ 项目接入成百上千个开源库(如 OpenSSL、Boost、fmt)的第一步,它能自动下载、编译、安装并集成头文件与链接库,彻底替代手动配置附加包含目录和附加依赖项的繁琐流程。
下载并构建 vcpkg 工具本体
打开 PowerShell(不是 CMD,也不是 Windows Terminal 里默认的 CMD 标签页),确保已安装 Git。执行以下命令:
git clone https://github.com/microsoft/vcpkg.git D:cpkg
这一步必须指定一个无空格、无中文、不在系统盘根目录(如 C:)下的路径,否则后续 bootstrap 或 install 极易报错 Failed to determine the host architecture。D:cpkg 是最稳妥的选择。
立即学习“C++免费学习笔记(深入)”;
cd D:cpkg → .ootstrap-vcpkg.bat
该脚本会调用本地 Visual Studio 2022(或 Build Tools)的 MSVC 编译器编译出 vcpkg.exe。若提示找不到工具链,先运行 vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 确认路径,再以管理员身份重试。
将 vcpkg 集成到 Visual Studio 2022
执行命令:
D:cpkgcpkg integrate install
这步需管理员权限,它会把 vcpkg 安装的头文件路径和库路径写入 VS 全局属性,之后新建的任何 C++ 项目都能直接 #include <boost/algorithm/string.hpp> 并成功编译,无需手动配置任何附加包含目录或附加库目录。
注意:此集成仅对新创建的项目生效;已有项目需右键项目 → 属性 → 常规 → 继承自 → 勾选“从父级或项目默认值继承”才能自动获得路径。
安装第一个第三方库(以 jsoncpp 为例)
方法一:经典模式(全局安装)
vcpkg install jsoncpp
默认安装 x64-windows 三元组(动态链接版)。若你的项目目标平台是 Win32(x86),必须显式指定:vcpkg install jsoncpp:x86-windows。
方法二:清单模式(推荐,项目级隔离)
① 在你的 C++ 项目根目录下新建文件 vcpkg.json,内容为:
{ "dependencies": ["jsoncpp"] }
② 打开项目所在目录的 PowerShell,执行:
vcpkg install --manifest
这会在项目目录下生成 vcpkg_installed/ 子目录,所有依赖只对该工程生效,不同项目可共存不同版本的 jsoncpp,互不干扰。
在 CMake 项目中启用 vcpkg 支持
如果你用 CMake 构建项目(如通过 VS 的 CMake 项目模板或命令行 cmake),必须显式传入 toolchain 文件:
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake
之后在 CMakeLists.txt 中直接写 find_package(jsoncpp CONFIG REQUIRED) 即可链接使用。这比 VS 集成更可控,也适用于跨平台开发。
关键提醒:CMAKE_TOOLCHAIN_FILE 路径中的斜杠必须用正斜杠 / 或双反斜杠 \,单反斜杠 会导致 CMake 解析失败。


















