Vcpkg:使用多个登记来处理库的多个版本

Vcpkg允许您 获取和构建3 研发 Windows上的聚会库 . 一旦被克隆,vcpkg目录(登记)将提供一组稳定的库,这些库都是兼容的,并且基于这些库的最新发布版本。有时,您可能需要同一个库的不同版本。按照设计,同一个登记中不能有同一个库的两个不同版本;相反,您需要创建并使用多个登记。

null

创建多个登记

1) 克隆git存储库

要创建多个登记,只需在计算机上的不同位置重新克隆GitHub repo:

git克隆https://github.com/Microsoft/vcpkg.git

默认情况下,vcpkg的主分支提供最新版本的库。如果需要较旧的版本,请浏览库的文件历史记录,以查看您要查找的版本是否可用。控制文件应显示版本历史记录。

2) 查找特定版本

例如,假设您想使用OpenCV,但不是3.3.0.4,而是3.2.0版本:

clip_image002

确定版本后,使用<>按钮在此时导航回购。

clip_image004

3) 克隆特定标签/哈希的repo

现在,您可以从2月8日开始克隆OpenCV 3.2.0版的repo了 注:重要的是,您要使用的所有库都来自同一个标签/哈希。通过从该标签/散列克隆整个repo,从属库将与所选lib的版本兼容。

clip_image006

单击提交哈希,然后复制“完整”提交哈希:

clip_image008

这是通过git checkout命令用于新登记的:

clip_image010

4) 为特定标签/哈希构建vcpkg

别忘了通过运行以下命令的引导文件构建vcpkg:

引导程序-vcpkg.bat

现在,您可以使用与此版本对应的依赖项构建opencv3.2.0了。

使用多个登记

现在您可以使用新的/特定版本的库了。要在项目的登记之间切换,我们提供两种方法:

·通过integrate project命令引用登记

·使用Export命令将库打包为NuGet包(或以raw或zip格式)

a) 运行vcpkg integrate project命令:

clip_image012

如注释中所述,转到您的项目并添加对此NuGet包的引用。NuGet包只包含一个“ 链接 “为了你的新兵。您的项目现在与第二个登记中的库相链接。

b) 运行vcpkg export–nuget

clip_image014

命令再次指定如何使用NuGet生成的包。在第二种情况下 NuGet包 包含库的二进制文件.lib、.h和.pdb . 当然,它还包含库所需的所有依赖项。

我们非常重视您的反馈,将其作为改进的重要来源。如果您对此工具或使用场景有任何问题,请通过在GitHub上打开问题或向我们发送电子邮件告知我们 vcpkg@microsoft.com .

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