c++如何使用vcpkg包管理器 安装和管理第三方库【环境配置】

vcpkg可简化C++项目第三方库管理,支持多平台、自动依赖处理与CMake/VS集成;需克隆构建后配置环境变量,通过install命令安装库,用toolchain文件或integrate集成到项目。

在 C++ 项目中使用 vcpkg 可以大幅简化第三方库的安装与集成。它支持 Windows、Linux 和 macOS,能自动处理依赖、编译、版本控制和 Visual Studio / CMake 集成。

安装 vcpkg

从 GitHub 克隆源码并完成初始构建:

  • 打开终端(Windows 推荐 PowerShell 或 CMD,Linux/macOS 用 bash/zsh)
  • 运行:git clone https://github.com/Microsoft/vcpkg.git
  • 进入目录:cd vcpkg
  • 执行引导构建:./bootstrap-vcpkg.bat(Windows)或 ./bootstrap-vcpkg.sh(Linux/macOS)

完成后会生成可执行文件 vcpkg(Windows 下为 vcpkg.exe),建议将其所在路径加入系统环境变量,方便全局调用。

安装第三方库(如 fmt、jsoncpp、boost)

vcpkg 默认安装的是 x64-windows 三元组(triplet),你也可以指定平台和架构:

  • 安装默认 triplet:vcpkg install fmt jsoncpp
  • 指定 triplet(例如静态链接的 32 位 Windows):vcpkg install boost-system:x86-windows-static
  • 查看可用 triplet:vcpkg help triplet
  • 搜索库:vcpkg search json

安装过程会自动下载源码、配置、编译并安装到 installed/ 目录下,同时生成 pkgconfig、CMake config 等元信息。

在 CMake 项目中集成 vcpkg

推荐方式是通过工具链文件(toolchain file)让 CMake 自动识别 vcpkg 安装的库:

  • 创建 CMakeLists.txt(确保 CMake ≥ 3.10)
  • 调用 CMake 时传入 toolchain:cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=[vcpkg-root]/scripts/buildsystems/vcpkg.cmake
  • 在 CMakeLists.txt 中直接 find_package(fmt CONFIG REQUIRED) 即可使用
  • 若使用 Visual Studio,可通过 vcpkg integrate install 注册到全局(需管理员权限),之后新建项目即可自动识别已安装库

常用管理命令

日常维护库版本和环境:

  • 列出已安装包:vcpkg list
  • 升级所有包(先更新 vcpkg 自身):git -C vcpkg pull && vcpkg update && vcpkg upgrade --no-dry-run
  • 卸载某个库:vcpkg remove jsoncpp
  • 导出为二进制(便于分发):vcpkg export zlib --7zip
  • 清理未使用的构建缓存:vcpkg cache clear

vcpkg 不强制要求项目根目录包含 vcpkg,但建议将 vcpkg.json 文件放在项目中声明依赖,配合 vcpkg install --manifest 实现可重现的依赖管理。