首页
/ vcpkg 2025.03.19版本发布:C++包管理器的重要更新

vcpkg 2025.03.19版本发布:C++包管理器的重要更新

2025-06-01 13:20:21作者:董灵辛Dennis

vcpkg是微软开发的一款跨平台C++包管理器,它极大地简化了C++项目中第三方库的获取、构建和管理过程。作为C++生态系统中的重要工具,vcpkg通过自动处理依赖关系和构建过程,为开发者节省了大量配置时间。

在2025年3月19日发布的2025.03.19版本中,vcpkg带来了多项重要更新和改进。这个版本不仅增加了40个新库的支持,还对408个现有库进行了版本更新,同时移除了34个不再维护的库。这些变化反映了C++生态系统的持续演进和vcpkg团队对工具质量的不断追求。

核心功能改进

本次更新中,vcpkg工具本身有几个值得注意的改进。首先是对并发下载目录使用的健壮性进行了增强,这在多线程环境下或并行构建多个项目时尤为重要,能够减少潜在的竞态条件问题。其次,在Linux系统上,工具现在能更好地处理waitpid调用被中断的情况,提高了在信号干扰下的稳定性。

此外,新版本引入了两个实验性功能:x-test-features和format-feature-baseline。这些功能为开发者提供了更灵活的方式来测试和配置库的特性支持,虽然目前还处于实验阶段,但已经显示出在复杂项目依赖管理中的潜力。

新增库支持

2025.03.19版本新增了40个库的支持,涵盖了多个领域。在多媒体处理方面,新增了aravis(用于视频采集)和libaribcaption(字幕处理)。在机器学习和数据处理领域,新增了arrow-adbc(数据库连接接口)和llama-cpp(大语言模型推理框架)。

游戏开发相关的库也有增加,如sdformat(仿真数据格式)和gz系列库(机器人仿真工具套件)。此外,还加入了一些实用的工具库,如safetyhook(安全钩子技术)和icecream-cpp(调试输出工具)。

库版本更新

本次更新对408个库进行了版本升级,其中一些关键更新值得关注:

Boost库系列全面升级至1.87.0版本,这是C++社区广泛使用的基础库集合,新版本带来了性能改进和bug修复。Microsoft的多个核心库如azure-core-cpp和azure-storage系列也获得了更新,增强了云服务集成能力。

在图形和多媒体领域,FFmpeg更新至7.1.1版本,OpenCV保持4.10.0版本但进行了问题修复。数据库相关库如mongoc-driver和sqlite3也获得了维护更新。

移除的库

为了保持生态系统的健康,vcpkg移除了34个不再维护或已被更好替代方案取代的库。这包括一些较旧的Ignition系列库(被新的gz系列替代)、几个网络通信库如websocketpp和signalrclient,以及一些特定领域的库如gazebo(仿真工具)。

这种定期清理确保了vcpkg中的库保持较高的质量标准,减少了开发者遇到已废弃或不维护库的风险。

开发者体验改进

除了库本身的更新外,这个版本还包含了对开发者体验的改进。例如,对多个库的构建系统进行了优化,减少了构建时间和资源消耗。一些库现在提供了更好的错误信息和文档,使得集成过程更加顺畅。

对于跨平台开发者来说,新版本在各种平台(Windows、Linux、macOS)和架构(x86、x64、ARM)上的支持更加均衡,减少了平台特定问题的出现。

总结

vcpkg 2025.03.19版本展示了C++生态系统持续发展的活力。通过新增库支持、现有库更新和淘汰不再维护的库,vcpkg保持了其作为现代C++开发重要工具的地位。对于C++开发者来说,定期更新vcpkg可以确保获得最新的库版本和改进的功能,从而提高开发效率和项目质量。

随着C++23特性的逐步普及和C++26工作的开始,我们可以预期vcpkg将继续演进,以支持这些新标准带来的库更新和工具链变化。对于任何使用C++进行开发的团队,将vcpkg纳入其开发工作流都是一个值得考虑的选择。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
52
461
kernelkernel
deepin linux kernel
C
22
5
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
349
381
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
131
185
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
873
517
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.09 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
179
264
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
607
59
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4