💡
原文英文,约1600词,阅读约需6分钟。
📝
内容提要
vcpkg是免费开源的C/C++包管理器,由微软和C++社区维护。使用vcpkg和CMake,Askia公司能够减少构建依赖的时间,减少代码大小约30万行。转向vcpkg还能确保一致和可重复的构建,访问大量库,简化入职流程,并标准化微服务的使用。
🎯
关键要点
- vcpkg是由微软和C++社区维护的免费开源C/C++包管理器,支持Windows、macOS和Linux。
- Askia公司通过使用vcpkg和CMake,减少了构建依赖的时间,并减少了约30万行代码。
- 转向vcpkg确保了一致和可重复的构建,访问大量库,简化了入职流程,并标准化了微服务的使用。
- Askia专注于调查工具的开发,团队从30人迅速扩展到90人。
- 开发环境使用Visual Studio 2022,采用MSVC和GCC13编译器,所有项目使用CMake和vcpkg构建。
- Docker容器分为四层,分别是基础镜像、开发层、静态分析层和生产层。
- 使用vcpkg的二进制缓存功能,减少了CI构建时间和成本,团队对节省编译时间表示赞赏。
- 当前代码库约有4万行C++代码,主代码库引入CMake和vcpkg后减少了约10%的代码量。
- 使用GitHub作为持续集成系统,开发者和CI使用相同的Docker镜像。
- 建立了vcpkg注册表以管理内部库,使用了多种开源依赖库。
- 在转向vcpkg之前,管理C++依赖的方法繁多且复杂,难以追踪版本。
- 团队在2019年转向vcpkg,旨在简化构建过程和提高可扩展性。
- vcpkg显著改善了入职流程,帮助团队在短时间内扩展规模。
- vcpkg在管理依赖方面改变了游戏规则,确保了跨平台的一致性和可重复性构建。
➡️