Vcpkg 2020.04更新和产品路线图

这是2020年4月的博客文章 vcpkg公司 ,跨平台,开源C/C++库管理器。在这篇文章中,我们将分享一些关于2020.04版本vcpkg的信息,并讨论vcpkg产品路线图,我们正在发布并将随着时间的推移不断更新。要为自己试用vcpkg并节省一些获取项目依赖项的时间,请按照我们网站上的说明进行操作 GitHub存储库 .

null

3月Vcpkg活动

首先,我们要感谢GitHub上vcpkg项目的贡献者。以下人员提供了3月份合并到master branch的PRs,不包括来自Microsoft的核心vcpkg工程团队或我们在Beyondsoft的合作伙伴团队的贡献:

克鲁泽克里格 Ré我的塔苏(RT222) 亚历山大诺依曼(纽曼A)
丹尼尔·帕克(丹尼尔·帕克) 比尔·艾弗里(wravery) 卡洛斯·奥瑞安(科扬)
公园东哈(伦克里夫) 科比卡汉(kobykahane) 沃尔夫冈街öggl(C72578)
德米特里·马拉卡索夫(AMDmi3) 陆克文(kevinlul) 乔纳森·黑尔(斯奎里斯)
西尔维奥特拉弗萨罗(特拉弗萨罗)

我们现在有 826个唯一贡献者 . 感谢您花时间构建一个更好的库管理工具!我们一直在寻找更多的贡献-如果你想帮忙,看看我们的网站 捐款指南 .

2020.04发布

这个月,我们发布了 2020.04 vcpkg更新 . 该版本包括对我们的 文档 ,一些产品改进,添加了5个新库(我们称之为“端口”),并更新了69个现有端口。

vcpkg有以下显著变化:

添加了以下5个新库:

  1. skyr url (1.5.1版)
  2. 钻孔SSL (2020-04-07版)
  3. 四叉树 (v2020-04-13)
  4. avisynthplus公司 (3.5.0版)
  5. C4芯 (v2020-04-12)

总而言之,我们现在支持 1322个图书馆 在主vcpkg库目录中。按构建配置(我们也称为“三元组”)细分,计数如下:

三胞胎 可用端口
x64窗口 1218
x86窗口 1202
x64 windows静态 1130
x64 linux系统 1104
x64 osx系列 1041
arm64窗口 842
x64超宽带 654
arm超宽带 625

有关所有更改的详尽列表,请查看我们的 在GitHub上发布页面 .

Vcpkg产品路线图

展望未来,我们将公布一份关于这一问题的路线图。虽然我们将继续支持新的库并改进Linux和macOS上的端口数,但我们还将根据您的反馈和建议为产品添加新功能以下是我们计划实现的优先积压的经验:

  1. Vcpkg将允许您缓存库二进制文件,以减少在其他机器上的安装时间。 今天,vcpkg将源代码下载到您的机器上,并在本地构建它。这允许您生成一个二进制文件,该文件根据您的构建需求进行验证,并且与您的项目兼容。但也有这样的情况,即在多台机器上需要以相同的方式构建相同的库。一些例子包括几个构建机器的连续集成设置,或者多个开发人员从本地开发人员框协作处理同一个项目。今后,vcpkg将允许您进行一次本地构建,然后将生成的二进制文件缓存到您选择的文件共享或二进制托管服务(例如Azure工件存储)。下次在另一台机器上运行“vcpkg install”命令时,vcpkg将能够直接从缓存下载预构建二进制文件,而不是运行另一个构建。这可以节省大量时间,特别是对于具有许多构建机器的大型项目。
  2. Vcpkg允许您指定要安装的库的版本,从而为您提供更大的灵活性。 默认情况下,vcpkg提供了一个包含1300多个库的目录,这些库都在特定的快照上进行了兼容性测试。这意味着您可以选择所需的依赖项,而不必担心版本冲突,但这也剥夺了将自己锁定到特定库的旧版本的灵活性。我们相信一个好的包管理器对于高级用户应该是灵活的,所以我们将为用户提供一种在安装过程中指定库版本的方法。如果您了解您的依赖关系图并愿意承担一些兼容性测试的责任,那么您就可以继续使用旧版本了。我们将继续在目录上运行我们自己的测试,甚至在不同库的一些不同版本级别上,但是由于这里的极端组合可能性,我们将没有100%的覆盖率。
  3. Vcpkg将支持一个清单文件,该文件可以声明性地指定所有依赖项,并且可以签入源代码管理。 这个想法很简单:您可以在一个名为vcpkg.json的文件中指定依赖项、版本以及从何处获取它们(对于私有依赖项)。该文件可以作为源代码repo的一部分存在,vcpkg每次都可以以一致的方式读取该文件以立即获取所需的一切。
  4. Vcpkg将允许您轻松地安装来自多个源的软件包。 今天,vcpkg主要用于下载一套流行的开源库。我们有1300多个可用的库,但是有许多用于企业环境的私有第1方库和其他不在我们目录中的小型库。此功能的目标是使您可以轻松地指定库所在的位置,以便使用vcpkg下载它们。这样,vcpkg就可以管理所有依赖项,而不仅仅是开源依赖项。虽然团队需要花费一些时间为他们的包设置这个联邦环境,但从长远来看,当他们设置开发和持续集成环境时,它可以节省每个人的时间。
  5. Vcpkg将附带visualstudio和visualstudio代码。 在VisualStudio中,VCPKG将包含在所有C++工作负载中,而VisualStudio代码则将作为C++扩展的一部分进行装运。现在,这两种环境都已经对vcpkg提供了一些支持,我们将继续改进这种集成。我们的目标是在使用这些环境时获得获取库依赖项的简化体验,第一步是让包管理器已经存在,以便您可以立即开始使用它。

这个路线图也发表在我们的网站上 GitHub回购wiki ,并将在那里保持最新。我们也将开始发布这些特性的技术规范;在接下来的几天/几周里要注意这个问题。

我们欢迎您的反馈

我们期待着听到你关于我们正在进行的工作。如果您想联系我们,请使用下面的评论或电子邮件 visualcpp@microsoft.com . 访问 我们在GitHub上的页面 如果您想提交问题或对项目作出贡献。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享