vcpkg 的新功能(2024年4月)

vcpkg 的新功能(2024年4月)

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

vcpkg包管理器发布了2024.04.26版本,改进了依赖图、文档、性能和错误修复。现在有2,426个端口可用,新增了12个端口,更新了279个端口。vcpkg depend-info命令得到了改进,支持显示多个包并提高了可读性。新增了一个名为VCPKG_HASH_ADDITIONAL_FILES的三元组变量,用于更好地控制包的ABI哈希。还进行了错误修复和文档更改。请在GitHub上查看发布说明和更新。

🔎

延伸解读

依赖图可视化改进的实际价值

本次更新对 vcpkg depend-info 命令的改进,让开发者能更直观地分析复杂依赖关系。现在支持同时显示多个包、三元组和可选特性,并能在 --dot 输出中通过换行和字体调整提升可读性,还按三元组类型着色。这些变化有助于快速定位依赖冲突或冗余,尤其在多平台构建场景下,能节省排查时间。

ABI 哈希控制与二进制缓存优化

新增的三元组变量 VCPKG_HASH_ADDITIONAL_FILES 允许将额外文件纳入包 ABI 哈希计算。这意味着当这些文件变化时,哈希值会改变,从而触发重新构建或缓存失效。对于需要精细控制二进制缓存行为的团队,这提供了更灵活的机制,避免因未跟踪文件导致缓存不一致的问题。

端口生态与平台支持现状

vcpkg 公共注册表目前有 2,426 个端口,本月新增 12 个、更新 279 个。官方对 13 个主要三元组进行穷举验证,确保更新不会破坏其他端口。从数据看,x64-windows 支持端口最多(2,281 个),而移动端如 arm-neon-android 较少(1,566 个)。这反映了桌面平台仍是主要目标,但社区三元组可扩展更多平台。

社区贡献与文档完善

本次发布感谢了 dg0yt、jiayuehua、Neumann-A 等贡献者,其中 dg0yt 提交了 27 个 commit。文档方面,术语表被提升为顶级节点并新增术语,还补充了环境变量作用域警告、CMake FetchContent 故障排查等内容。这些改进降低了新用户的学习成本,也帮助开发者避免常见陷阱。

❓

Q&A

vcpkg 2024年4月版本有哪些新功能?

vcpkg 2024年4月版本改进了依赖图、文档、性能和错误修复,新增了12个端口,更新了279个端口。

vcpkg depend-info命令有什么改进?

vcpkg depend-info命令现在支持显示多个包,提高了可读性,并增加了对triplet和可选特性的支持。

VCPKG_HASH_ADDITIONAL_FILES变量的作用是什么?

VCPKG_HASH_ADDITIONAL_FILES变量用于更好地控制包的ABI哈希,允许用户提供文件列表以纳入哈希计算。

vcpkg的公共注册表中目前有多少个端口?

目前vcpkg公共注册表中可用的端口总数为2,426个。

vcpkg在文档方面做了哪些更改?

vcpkg更新了文档,移动了术语表,增加了新术语,并修复了一些链接和拼写错误。

如何查看vcpkg的完整发布说明?

可以在GitHub上查看vcpkg的完整发布说明和更新信息。

🏷️

标签

➡️

继续阅读