什么是二进制缓存?

二进制缓存是一项功能,可使 vcpkg 将包的已编译文件保存在共享位置,并在系统要求使用相同的配置生成同一包时重复使用这些文件。 我们将每个包生成的输出称为“二进制包”。

为什么使用二进制缓存?

vcpkg 公共注册表中的大多数端口都是从源生成的。 从源生成可确保使用与依赖项中的项目相同的环境、生成工具和配置实现最大的兼容性。 但是,当多个项目、开发人员或计算机需要相同的依赖项时,这也可能会导致重复生成。

二进制缓存可以托管在各种不同的环境中。 二进制缓存的最基本形式是保存包生成输出的压缩存档的目录。 更高级的应用场景包括托管在 GitHub 包Azure DevOps 项目或其他此类服务中的 NuGet 包源。

在依赖项和配置不经常更改的情况下,二进制缓存特别有效,例如 CI(持续集成)或生成服务器。 二进制包特别容易受到配置更改(编译器版本、编译标志、已安装工具或特定于 vcpkg 的脚本更改)的影响,这使得在开发人员计算机之间共享它们变得困难。 有关共享生成的包的其他选项,请参阅 vcpkg export

要了解不同的存储后端,请参阅二进制缓存后端

后续步骤

下面是接下来要尝试的其他任务: