vcpkg 是微软 C++ 团队和社区共同维护的一款免费开源的 C/C++ 包管理器,支持 Windows、macOS 和 Linux 三大平台。它专为解决 C++ 库管理的痛点而设计,核心使用 C++ 和 CMake 脚本实现。
核心特点
- 简单易用
- 一键下载并构建流行库,自动处理上游依赖和版本冲突
- 支持命令行操作或
vcpkg.jsonmanifest 文件声明依赖 [[6]] - 提供详细文档和活跃的社区支持
- 跨平台通用
- 支持任意操作系统、构建系统(CMake/MSBuild/Makefile等)、目标架构、IDE 和 CI 流程
- 库从源码构建,可按需配置
- 可靠一致
- 本地开发与 CI/CD 工作流保持一致
- 可锁定依赖版本,团队共享依赖生态
- 丰富生态
- 当前注册表提供 2,773+ 个开源库端口(ports)
- 支持创建私有 registry 管理自定义或企业内部库
🛠️ 关键概念
vcpkg.json 文件声明项目依赖,可纳入版本控制共享
Versioning 通过 baseline 机制管理兼容的版本集合,避免钻石依赖问题
2.1 安装 vcpkg
① 下载
# Windows (PowerShell) git clone https://github.com/microsoft/vcpkg.git
# Linux/macOS git clone https://github.com/microsoft/vcpkg.git
注意:此命令在
vcpkg子目录中创建存储库的本地副本。 此位置是此 vcpkg 克隆的 vcpkg 根目录。
在安装这个之前需要先安装 git,参考文章:【2025年最新版】Git安装及环境配置超详细教程(以win11为例子)_git安装及配置教程
或者去官网下载压缩包也行,然后再解压
这里的话我安装的肯定就是 Windows 版本的了
② 安装
在 vcpkg 根目录下,运行 vcpkg 引导程序命令:
.vcpkgbootstrap-vcpkg.bat # Windows 使用 ./vcpkg/bootstrap-vcpkg.sh # Linux 使用
引导程序将使用 Microsoft C/C++ 工具、库和 Windows SDK 的位置配置 vcpkg。
安装过程如下:
PS D:includesvcpkg> .bootstrap-vcpkg.bat Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2026-04-08/vcpkg.exe -> D:includesvcpkgvcpkg.exe... done. Validating signature... done.
vcpkg package management program version 2026-04-08-e0612b42ce44e55a0e630f2ee9d3c533a63d8bc1
See LICENSE.txt for license information.
Telemetry
vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics, passing –disable-metrics to vcpkg on the command line, or by setting the VCPKG_DISABLE_METRICS environment variable.
Read more about vcpkg telemetry at docs/about/privacy.md
运行后结果:
- 脚本会自动下载并编译 vcpkg 核心程序
- 成功后会在当前目录生成
vcpkg.exe - 之后即可使用
.vcpkg install <库名>库名>安装第三方库
注意事项
- 如果网络较慢或下载中断,可添加
–head参数使用最新源码构建,或配置国内镜像/代理加速。 - 引导完成后,推荐运行
.vcpkg integrate install将 vcpkg 注册到全局环境(VS/MSBuild 自动识别),或在 CMake 中通过工具链文件使用。
2.2 相关命令
vcpkg search [pat] 搜索可安装的包
vcpkg install
…
安装包
vcpkg remove
…
卸载包
vcpkg remove –outdated 卸载所有过期包
vcpkg list 列出已安装的包
vcpkg update 显示用于更新的包列表
vcpkg upgrade 重新生成所有过期包
vcpkg hash
[alg]
通过特定算法对文件执行哈希操作,默认为 SHA512
vcpkg integrate install 使已安装包在用户范围内可用。 首次使用时需要管理权限
vcpkg integrate remove 删除用户范围的集成
vcpkg integrate project 为使用单个 VS 项目生成引用 NuGet 包
vcpkg export
… [opt]…
导出包
vcpkg edit
打开端口进行编辑(使用 %EDITOR%,默认为“code”)
vcpkg create
[archivename]
创建新程序包
vcpkg cache 列出缓存的已编译包
vcpkg version 显示版本信息
vcpkg contact –survey 显示联系信息,以便发送反馈。
选项
–triplet
指定目标体系结构三元组。 (默认:
%VCPKG_DEFAULT_TRIPLET%,另请参阅
vcpkg help triplet)
–vcpkg-root
指定 vcpkg 根目录(默认:
%VCPKG_ROOT%)
2.3 全局使用 vcpkg(避免每次输 .)
# 1. 将 vcpkg 添加到系统 PATH(临时) \(env:Path = "D:includesvcpkg;" + \)env:Path
# 2. 或执行集成命令(推荐,对 Visual Studio/MSBuild 生效) .vcpkg integrate install
# 3. 之后就可以在任何位置直接使用: vcpkg install nlohmann-json
3.1 Windows 上的 Visual Studio 集成
从 vcpkg 根目录,运行 vcpkg integrate install 来配置 Visual Studio,以便按用户找到所有 vcpkg 头文件和二进制文件。 无需在 Visual Studio 中编辑 VC + + 目录路径。 如果有多个 vcpkg 克隆,则我们需从中运行此命令的克隆将成为新的默认位置。
现在,只需键入文件夹/标头名称即可轻松加入标头,并且自动完成功能将帮助完成这一切。 无需执行任何额外的步骤即可链接到库或添加项目引用。 下图演示了 Visual Studio 查找 azure-storage-cpp 标头的方法。 Vcpkg 将其标头置于 /installed 子文件夹中,由目标平台予以分区。
下图显示库的 /was 子文件夹中包含文件的列表:

3.2 Linux 或 macOS 上的 Visual Studio Code 集成
在 shell 或“终端”窗口中,将目录更改为 vcpkg 根目录。 然后运行./vcpkg integrate install,在 Linux 或 macOS 上配置 Visual Studio Code。 此命令将设置 vcpkg 工具和库的位置,并对源文件启用 IntelliSense。
3.3 删除 vcpkg 集成
如果已使用 integrate 选项,则应在删除 vcpkg 实例之前删除该集成。 若要删除和清理该集成,请将目录更改为 vcpkg 根目录。
- 在 Windows 上,运行
vcpkg integrate remove,确保清除该集成。 - 在 Linux 或 macOS 上,运行
./vcpkg integrate remove命令。
举例:我现在的场景是我需要 libpng 来进行开发,输入如下命令来安装,可以看到在开始自动下载。
# 安装依赖 .vcpkg install libpng

注意我们可以使用
.vcpkg help triplet来看库支持的模式。
PS D:includesvcpkg> .vcpkg help triplet Built-in Triplets: arm-neon-android arm64-android arm64-linux arm64-osx arm64-windows-static-md arm64-windows x64-android x64-linux x64-windows-release x64-windows-static-md x64-windows-static x64-windows x86-windows Community Triplets: arm-android arm-ios arm-linux-release arm-linux arm-mingw-dynamic arm-mingw-static arm-uwp-static-md arm-uwp arm-watchos arm-windows-static arm-windows arm64-android-release arm64-freebsd arm64-ios-release arm64-ios-simulator-release arm64-ios-simulator arm64-ios arm64-linux-dynamic arm64-linux-release arm64-mingw-dynamic arm64-mingw-static arm64-osx-dynamic arm64-osx-release arm64-tvos-simulator arm64-tvos arm64-uwp-static-md arm64-uwp arm64-visionos arm64-watchos-simulator arm64-watchos arm64-windows-static-release arm64-windows-static arm6432-watchos arm64ec-windows armv6-android loongarch32-linux-release loongarch32-linux loongarch64-linux-release loongarch64-linux mips64-linux ppc64le-linux-release ppc64le-linux riscv32-linux-release riscv32-linux riscv64-linux-release riscv64-linux s390x-linux-release s390x-linux wasm32-emscripten x64-freebsd-dynamic x64-freebsd-release x64-freebsd x64-ios x64-linux-dynamic x64-linux-release x64-mingw-dynamic-release x64-mingw-dynamic x64-mingw-static-release x64-mingw-static x64-netbsd x64-openbsd x64-osx-dynamic x64-osx-release x64-osx x64-solaris x64-tvos-simulator x64-uwp-static-md x64-uwp x64-watchos-simulator x64-windows-static-md-release x64-windows-static-release x64-xbox-scarlett-static x64-xbox-scarlett x64-xbox-xboxone-static x64-xbox-xboxone x86-android x86-freebsd x86-ios x86-linux x86-mingw-dynamic-release x86-mingw-dynamic x86-mingw-static-release x86-mingw-static x86-uwp-static-md x86-uwp x86-windows-static-md x86-windows-static x86-windows-v120 See https://learn.microsoft.com/vcpkg/users/triplets?WT.mc_id=vcpkg_inproduct_cli for more information.
删除库
.vcpkg.exe remove jsoncpp
查看已经安装的列表
.vcpkg.exe list
更新已经安装的开源库
一般有两种更新方式。
- update指令,可以显示可以升级的开源库的列表。
- upgrade的指令,会重新编译所有需要更新的包。
报错解决
问题一:Unable to find a valid Visual Studio instance
表示编译环境缺失
解决方案如下:
方案 1:安装 Visual Studio Build Tools(推荐,轻量)
这是微软官方提供的独立构建工具包,无需安装完整 VS IDE。
步骤:
- 下载:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
- 运行安装程序,务必勾选:
- ✅ C++ 生成工具(核心编译器)
- ✅ Windows 10⁄11 SDK(系统 API)
- ✅ MSVC v143 生成工具(或最新版本)
- ✅ C++ CMake 工具(可选,但推荐)
- 安装完成后重启终端(或执行
vswhere验证) - 重试:
.vcpkg install openssl
验证是否安装成功:
# 方法 1:官方工具 vswhere -latest -requires Microsoft.Component.MSBuild
# 方法 2:检查编译器 where cl.exe # 应返回类似: C:Program FilesMicrosoft Visual Studio2022BuildToolsVCToolsMSVC…cl.exe
方案 2:使用已安装的完整 Visual Studio
如果当前电脑已经安装了 Visual Studio 2019⁄2022(非 Build Tools):
- 打开 Visual Studio Installer
- 点击 “修改” → 确保勾选:
- 使用 C++ 的桌面开发 工作负载
- Windows 10⁄11 SDK
- 应用更改后重启终端
- 重试安装
💡 完整 VS 和 Build Tools 可以共存,vcpkg 会自动检测最新/最合适的实例。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/256597.html