vcpkg中baseline是什么?配置manifest遇报错求详解
关于vcpkg清单中
builtin-baseline的说明及报错解决 报错原因
你遇到的这个错误是因为当前vcpkg实例要求项目清单(vcpkg.json)必须指定基线,才能正确管理依赖端口。这是vcpkg为保证依赖版本一致性引入的强制要求。
builtin-baseline的具体含义
builtin-baseline本质是vcpkg官方Git仓库的某个特定提交哈希值,它相当于给你的项目绑定了一个固定的vcpkg仓库版本快照:
- 指定该哈希后,vcpkg会基于该快照中的端口定义安装依赖,不受后续vcpkg仓库更新的影响
- 不管是团队协作还是跨环境构建,所有人都会使用基线对应的依赖版本,彻底避免因依赖版本变化导致的构建不一致问题
解决方法
方法1:在vcpkg.json中添加builtin-baseline字段
直接在项目清单里加入该字段,值填写你需要的vcpkg仓库提交哈希。比如可以用当前vcpkg版本对应的默认基线哈希,或者你指定版本的哈希:
{ "name": "你的项目名称", "version": "1.0.0", "builtin-baseline": "d14a0bf9b4b0d8a4e4400a3c55e6e70b1e6b32e1", "dependencies": [ "fmt", "spdlog" ] }
方法2:创建vcpkg-configuration.json重新定义默认注册表
如果你不想在清单里写基线,可以在项目根目录创建这个配置文件,自定义注册表源,但这种方式不如第一种直接,一般推荐用方法1。
内容的提问来源于stack exchange,提问作者Vishal Subramanyam
相关产品推荐
相关产品推荐

