vcpkg¶
AI 解释
vcpkg 是微软推出的 跨平台 C/C++ 库管理工具,用于简化第三方开源库的下载、编译和依赖管理。它类似于 Python 的 pip
或 JavaScript 的 npm
,但专注于 C/C++ 生态
核心特点
-
跨平台支持
- 支持 Windows、Linux、macOS,并能自动适配不同编译器(MSVC、GCC、Clang)
- 库的编译选项针对各平台优化
-
庞大的库生态
- 提供 2500+ 个开源库(如 OpenCV、Boost、SFML、fmt 等),支持一键安装
- 库版本可精确控制(如
zlib@1.2.11
)
-
与构建工具无缝集成
- 直接兼容 CMake(通过
find_package
)、Visual Studio、Meson 等 - 自动生成头文件路径和链接库配置,无需手动配置依赖
- 直接兼容 CMake(通过
-
去中心化设计
- 支持自定义私有库仓库(通过
ports
目录或覆盖机制) - 允许本地修改库的编译选项(如静态/动态链接)
- 支持自定义私有库仓库(通过
vcpkg vs 其他包管理工具
工具 | 跨平台性 | 库数量 | 集成难度 | 适用场景 |
---|---|---|---|---|
vcpkg | ✅ | 2500+ | 低 | 通用 C/C++ 项目 |
Conan | ✅ | 1500+ | 中 | 复杂依赖、自定义构建 |
APT/Yum | ❌(Linux) | 系统库 | 低 | Linux 系统级依赖 |
手动编译 | ❌ | 任意 | 高 | 需要高度定制化时 |
优势
- 开箱即用:无需手动处理库的依赖关系
- 版本控制:支持指定库版本(如
vcpkg install openssl@1.1.1
) - 与 IDE 集成:Visual Studio 可直接识别 vcpkg 安装的库
局限性
- 编译耗时:首次安装库时需要从源码编译(但支持二进制缓存加速)
- 体积较大:库会安装在
vcpkg/installed
目录下,可能占用较多磁盘空间
适用场景
- 快速原型开发:一键安装常用库(如 JSON 解析、图形库)
- 团队协作:统一团队的依赖版本,避免“在我机器上能运行”问题
- 跨平台项目:避免为不同操作系统手动配置库路径
1 安装¶
利用 git 从 github 克隆
运行脚本文件
Windows | |
---|---|
将可执行文件所在的目录添加到系统环境变量 PATH
2 命令¶
vcpkg list
:列出已安装包vcpkg search package_name
:搜索包-
vcpkg install package_name
:安装包vcpkg install zlib
:安装 zlib-
安装特定架构的库
vcpkg install zlib:x64-windows
:Windowsvcpkg install zlib:x64-mingw-dynamic
:MinGW
-
vcpkg remove package_name
:删除包
3 配置文件¶
生成默认的配置文件:
这会在当前目录下添加 vcpkg.json
文件和 vcpkg-configuration.json
文件
3.1 vcpkg.json¶
作用:
- 声明项目的依赖库(类似
package.json
或requirements.txt
) - 支持版本控制,可以指定库的版本或 Git 提交哈希
- 支持特性(features),允许按需启用库的额外功能
文件位置:通常放在项目的根目录(与 CMakeLists.txt
同级)
使用场景:
- 运行
vcpkg install
时,vcpkg 会自动读取vcpkg.json
并安装所有依赖 - 适合团队协作,确保所有人使用相同的库版本
3.2 vcpkg-configuration.json¶
作用:
- 配置 vcpkg 的行为(如注册表、二进制缓存、默认 triplet 等)
- 支持自定义库来源(如私有注册表或 Git 仓库)
- 支持二进制缓存(加速后续安装)
文件位置:通常放在以下位置之一:
- 项目根目录(与
vcpkg.json
同级) - vcpkg 的全局配置目录(如
%VCPKG_ROOT%/vcpkg-configuration.json
)
使用场景:
- 从私有 Git 仓库拉取自定义库
- 加速 CI/CD 构建(通过二进制缓存)
- 统一团队的 vcpkg 配置
4 与 CMake 集成¶
通过在 CMake 命令中指定工具链文件实现。为了方便起见,可以进行相应的设置
以 VS Code 为例
4.1 MinGW¶
打开 VS Code 配置文件,输入:
并在配置中选择 MinGW

4.1.1 示例¶
vcpkg-configuration.json | |
---|---|
CMakeLists.txt | |
---|---|
code/CMakeLists.txt | |
---|---|
code/main.cpp | |
---|---|
4.2 Visual Studio¶
打开 VS Code 配置文件,输入:
并在配置中选择 Visual Studio - amd64

评论区
欢迎在评论区指出文档错误,为文档提供宝贵意见,或写下你的疑问