Manifest 模式示例
背景
目前仍有许多用户使用vcpkg经典模式(命令行)来安装并管理使用到的第三方库,vcpkg后来增加了更便捷的manifest模式。相比经典模式,manifest模式的优点在于使用与个人工程同步的配置文件,隔离不同工程依赖,并可使用版本控制功能。使用manifest模式将告别命令行,只需要编写一个json文件即可声明对应工程的依赖链,这无疑增加了配置的可维护性。而且,manifest模式也支持其他vcpkg特性,这意味着我们可以完全的替代经典模式了!
使用示例
结合vcpkg特性,对于大多数用户的使用场景,我们总结了以下几种,并提供了对应的解决方案。
- 通常,如果我们的个人工程需要使用某个库,且这个库的版本没有限制,则可以直接将该库添加至dependencies中。参考 https://www.cnblogs.com/vcpkg/p/16790984.html
- 如果个人工程中需要使用vcpkg中包含的指定版本的库,则需要指定库的版本或builtin-baseline值。对于依赖多个vcpkg中的库,建议使用此项,若仅依赖单个库则建议使用下一项。参考 https://www.cnblogs.com/vcpkg/p/16791033.html
- 如果需要使用vcpkg管理并编译未使用版本控制器的私有库,则可使用vcpkg的overlay ports特性。参考 https://www.cnblogs.com/vcpkg/p/16791052.html
- 在多人开发环境中,我们仅希望一个人负责管理并维护其他人需要使用的第三方库,并使用服务器部署并分发vcpkg中包含的已编译好的库。此时可以使用vcpkg的binary source特性。参考 https://www.cnblogs.com/vcpkg/p/16791097.html
- 如果开发环境为内网,不能连接外网时,可使用vcpkg的asset source特性来下载并编译库。参考 https://www.cnblogs.com/vcpkg/p/16791118.html
- 针对在私有repo中维护的库而言,vcpkg允许传递额外的私有凭证来访问私有repo并下载这些库的源码。参考 https://www.cnblogs.com/vcpkg/p/16791144.html
- vcpkg不仅仅是一个第三方库管理器,也是一个依赖及版本信息管理库。我们支持用户使用vcpkg管理完全私有的库的依赖关系及版本对应记录。 参考 https://www.cnblogs.com/vcpkg/p/16791175.html
VCPKG 团队期待您的贡献!