选Vcpkg还是Conan取决于项目实际场景:Windows+VS轻量项目优先Vcpkg,跨平台/私有包/精细控制选Conan,二者可共存。

选 Vcpkg 还是 Conan,不取决于哪个“更好”,而取决于你的项目实际场景:团队规模、跨平台需求、是否已有 CI/CD、是否需要私有包、是否用 CMake 以及对构建控制的精细程度。
如果你用 Windows + Visual Studio,且主要依赖开源库(如 Boost、OpenCV、fmt)
Vcpkg 更省心。它和 MSVC 集成极深,一键安装、自动注册到 Visual Studio,CMake 项目加几行就能用。微软官方维护,Windows 下二进制分发成熟,大部分常用库开箱即用。
- 安装后执行
vcpkg integrate install,VS 和 CMake 自动识别 - 支持 triplet(如 x64-windows、x64-windows-static),静态/动态链接一键切换
- 社区端口(ports)更新快,但部分库版本滞后或 patch 较多
如果你要跨平台(Linux/macOS/Windows)、需私有包管理或精细控制依赖图
Conan 更灵活。它本质是“C++ 的 pip/npm”,支持自建 Artifactory/Nexus 私服,可上传内部 SDK、预编译二进制、带 profile 的多配置构建,适合中大型工程和持续集成。
- 依赖解析基于哈希,可复现构建;支持 lockfile 锁定完整依赖树
- conanfile.py 定义构建逻辑,能封装复杂编译流程(如交叉编译、patch 源码)
- 生态更开放:既有 conan-center 公共源,也支持 git submodule + conanfile 方式嵌入私有库
如果你的项目已用 CMake,且希望最小侵入现有流程
两者都支持,但方式不同:Vcpkg 通过 toolchain 文件注入(-DCMAKE_TOOLCHAIN_FILE=...),Conan 生成 conan_toolchain.cmake 或通过 conan install --generate 输出。Vcpkg 更“隐形”,Conan 更“显式可控”——后者便于审计和调试,前者适合快速启动。
立即学习“C++免费学习笔记(深入)”;
如果你团队小、项目轻量、不打算长期维护私有包体系
优先试 Vcpkg。5 分钟装好、10 行 CMakeLists 就跑起来,没有额外学习成本。Conan 的概念(profile、remote、reference、lockfile)初期容易卡住,适合愿意为长期可维护性投入一点前期成本的团队。
基本上就这些。不需要强求“统一标准”,一个项目里甚至可以 Vcpkg 管基础开源库,Conan 管业务组件——只要构建脚本理清楚就行。











