Vcpkg允许您 获取和构建3 研发 Windows上的聚会库 . 一旦被克隆,vcpkg目录(登记)将提供一组稳定的库,这些库都是兼容的,并且基于这些库的最新发布版本。有时,您可能需要同一个库的不同版本。按照设计,同一个登记中不能有同一个库的两个不同版本;相反,您需要创建并使用多个登记。
创建多个登记
1) 克隆git存储库
要创建多个登记,只需在计算机上的不同位置重新克隆GitHub repo:
git克隆https://github.com/Microsoft/vcpkg.git
默认情况下,vcpkg的主分支提供最新版本的库。如果需要较旧的版本,请浏览库的文件历史记录,以查看您要查找的版本是否可用。控制文件应显示版本历史记录。
2) 查找特定版本
例如,假设您想使用OpenCV,但不是3.3.0.4,而是3.2.0版本:
确定版本后,使用<>按钮在此时导航回购。
3) 克隆特定标签/哈希的repo
现在,您可以从2月8日开始克隆OpenCV 3.2.0版的repo了 第 注:重要的是,您要使用的所有库都来自同一个标签/哈希。通过从该标签/散列克隆整个repo,从属库将与所选lib的版本兼容。
单击提交哈希,然后复制“完整”提交哈希:
这是通过git checkout命令用于新登记的:
4) 为特定标签/哈希构建vcpkg
别忘了通过运行以下命令的引导文件构建vcpkg:
引导程序-vcpkg.bat
现在,您可以使用与此版本对应的依赖项构建opencv3.2.0了。
使用多个登记
现在您可以使用新的/特定版本的库了。要在项目的登记之间切换,我们提供两种方法:
·通过integrate project命令引用登记
·使用Export命令将库打包为NuGet包(或以raw或zip格式)
a) 运行vcpkg integrate project命令:
如注释中所述,转到您的项目并添加对此NuGet包的引用。NuGet包只包含一个“ 链接 “为了你的新兵。您的项目现在与第二个登记中的库相链接。
b) 运行vcpkg export–nuget
命令再次指定如何使用NuGet生成的包。在第二种情况下 NuGet包 包含库的二进制文件.lib、.h和.pdb . 当然,它还包含库所需的所有依赖项。
我们非常重视您的反馈,将其作为改进的重要来源。如果您对此工具或使用场景有任何问题,请通过在GitHub上打开问题或向我们发送电子邮件告知我们 vcpkg@microsoft.com .