zl程序教程

您现在的位置是:首页 >  其它

当前栏目

如何在vcpkg中使用registry

如何 registry 使用
2023-09-14 09:10:46 时间

对于很多vcpkg的用户来说,其内置的软件包已经够用了。如果你只需要一个开源的,非实验性的代码库,则使用默认的vcpkg registry就可以了。但是,如果你有一些不方便公开发布的私有代码库,或者你希望使用一些实验性质的库,则我们推荐的解决方案是:使用registry。

已经有一些开发者成功设置了他们自己的registries了,如果你对此感兴趣并希望建立自己的私有库,则你可以查看我之前的文章。如果你希望使用一个现有的registry,则这篇文章正好适合你。

让我们开始吧

在开始之前,你需要正确安装vcpkg。然后,你需要选择使用清单模式还是经典模式(也就是,使用命令行的方式手动安装软件包)。而registries的使用也是类似的。
接下来,你需要创建一个vcpkg-configuration.json文件;在清单模式下,你需要将这个JSON文件和vcpkg.json文件放在同一个文件夹下,而在经典模式下,你需要将它放置在vcpkg的根目录下。在这个文件中,有两个很重要的Key,它们分别是:”default-registry”和”registries”。

“default-registry”用来设置默认的registry,如果在”registries”数组中没有任何软件包,则会使用这个值。
“registries”用来为一些比较特殊的软件包设置registries。

举个例子:North Wind Traders

假如你有个公司,名叫North Wind Traders,你决定对默认的vcpkg registry复制出一个镜像出来,这样就可以保证商业上的可持续性和源代码的安全控制,你已经将它设置为了你的默认registry,这样在这个package registry中,它的每一个没有列出来的包都是可以使用的。
你的vcpkg-configuration.json看起来像如下这样:

 

目前这个registry还依赖于两个内部库的私有registry:beison 和 beicode。这些库既不是开源也不是公共的,但它们仍然通过 vcpkg 进行管理,不用担心不同库的不同进程(至少在消费端)。使用清单,你可以将依赖项写下来,CMake 或 MSBuild 集成环境会将所有这些依赖项安装到项目中,无论是来自默认、内置的还是来自第三方registry。就 vcpkg 而言,私有依赖与公共依赖完全相同。对于经典模式,你可以告诉 vcpkg 从命令行安装需要的软件包。 vcpkg 会将它们安装到你克隆的 vcpkg仓库中,你可以通过直接使用或通过 CMake 和 MSBuild 集成访问它们。这些现有用例都“正常工作”,无需在现有工作流程之上进行任何额外工作。只需要一个配置文件就可以了。

总结

vcpkg的registry功能,值得试试看。
我:明天一定试试。

最后

Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新的开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《How to start using registries with vcpkg》

最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。