💡
原文英文,约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在管理依赖方面改变了游戏规则,确保了跨平台的一致性和可重复性构建。
❓
延伸问答
vcpkg是什么,它的主要功能是什么?
vcpkg是由微软和C++社区维护的免费开源C/C++包管理器,支持Windows、macOS和Linux,主要用于管理依赖和简化构建过程。
Askia公司使用vcpkg后有哪些具体的改进?
Askia通过使用vcpkg和CMake,减少了构建依赖的时间,代码量减少约30万行,并确保了一致和可重复的构建。
使用vcpkg对开发团队的入职流程有什么影响?
使用vcpkg显著改善了入职流程,帮助团队在短时间内扩展规模,简化了新开发者的上手步骤。
Askia在转向vcpkg之前是如何管理C++依赖的?
在转向vcpkg之前,Askia使用多种方法管理依赖,包括源代码、公共NuGet包和预编译二进制文件,管理过程复杂且难以追踪版本。
vcpkg如何帮助Askia公司节省构建时间和成本?
vcpkg的二进制缓存功能减少了CI构建时间和成本,团队对节省编译时间表示赞赏。
Askia公司的开发环境是怎样的?
Askia的开发环境使用Visual Studio 2022,采用MSVC和GCC13编译器,所有项目使用CMake和vcpkg构建,并在Docker容器中运行。
➡️