使用CMake+Vcpkg构建项目时,如何获取fmt库10.1.1新版本?
解决Vcpkg安装指定版本fmt库的问题
你遇到的问题根源在于vcpkg.json中的builtin-baseline字段。这个基线commit(c6a4ed75f03a7485cf6fc91794809cd73f8f5aeb)对应的fmt库版本就是8.1.1,所以Vcpkg会自动拉取该基线锁定的版本。
有两种方法可以安装fmt 10.1.1:
方法一:单独指定fmt的版本
直接在vcpkg.json的依赖列表中明确指定fmt的版本,覆盖基线的默认版本。修改后的配置如下:
{ "name": "name", "version-string": "5", "builtin-baseline": "c6a4ed75f03a7485cf6fc91794809cd73f8f5aeb", "dependencies": [ "cereal", "eigen3", "fast-float", { "name": "fmt", "version": "10.1.1" }, "gtest", "magic-enum", "ms-gsl", "nlopt", "spdlog" ] }
方法二:更新builtin-baseline到包含fmt 10.1.1的版本
如果希望所有依赖都使用较新的版本,可以将builtin-baseline更新到包含fmt 10.1.1的vcpkg commit。注意:更新基线会改变所有依赖的版本,可能引发兼容性问题,需要提前测试项目是否适配新版本的依赖。
修改完成后,重新运行Vcpkg安装命令或重新配置CMake,即可看到Vcpkg开始安装fmt 10.1.1版本。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

