Manifest 模式示例

 背景

目前仍有许多用户使用vcpkg经典模式(命令行)来安装并管理使用到的第三方库,vcpkg后来增加了更便捷的manifest模式。相比经典模式,manifest模式的优点在于使用与个人工程同步的配置文件,隔离不同工程依赖,并可使用版本控制功能。使用manifest模式将告别命令行,只需要编写一个json文件即可声明对应工程的依赖链,这无疑增加了配置的可维护性。而且,manifest模式也支持其他vcpkg特性,这意味着我们可以完全的替代经典模式了!

使用示例

结合vcpkg特性,对于大多数用户的使用场景,我们总结了以下几种,并提供了对应的解决方案。

  1. 通常,如果我们的个人工程需要使用某个库,且这个库的版本没有限制,则可以直接将该库添加至dependencies中。参考 https://www.cnblogs.com/vcpkg/p/16790984.html
  2. 如果个人工程中需要使用vcpkg中包含的指定版本的库,则需要指定库的版本或builtin-baseline值。对于依赖多个vcpkg中的库,建议使用此项,若仅依赖单个库则建议使用下一项。参考 https://www.cnblogs.com/vcpkg/p/16791033.html
  3. 如果需要使用vcpkg管理并编译未使用版本控制器的私有库,则可使用vcpkg的overlay ports特性。参考 https://www.cnblogs.com/vcpkg/p/16791052.html
  4. 在多人开发环境中,我们仅希望一个人负责管理并维护其他人需要使用的第三方库,并使用服务器部署并分发vcpkg中包含的已编译好的库。此时可以使用vcpkg的binary source特性。参考 https://www.cnblogs.com/vcpkg/p/16791097.html
  5. 如果开发环境为内网,不能连接外网时,可使用vcpkg的asset source特性来下载并编译库。参考 https://www.cnblogs.com/vcpkg/p/16791118.html
  6. 针对在私有repo中维护的库而言,vcpkg允许传递额外的私有凭证来访问私有repo并下载这些库的源码。参考 https://www.cnblogs.com/vcpkg/p/16791144.html
  7. vcpkg不仅仅是一个第三方库管理器,也是一个依赖及版本信息管理库。我们支持用户使用vcpkg管理完全私有的库的依赖关系及版本对应记录。 参考 https://www.cnblogs.com/vcpkg/p/16791175.html
posted @ 2022-10-18 17:26  vcpkg_C++包管理器  阅读(325)  评论(0编辑  收藏  举报