在 Ubuntu 上管理 C++ 依赖,常见有 系统包管理器、源码构建、现代 C++ 包管理器 三种方式。下面按“从简单到专业”给你一个清晰地图。
适合:系统库、稳定版本
sudo apt update
sudo apt install libboost-dev
sudo apt install libopencv-dev
sudo apt install libssl-dev
查找库:
apt search libxxx-dev
✅ 优点
❌ 缺点
适合:项目构建
// main.cpp
#include <boost/asio.hpp>
find_package(Boost REQUIRED)
target_link_libraries(app Boost::boost)
编译:
cmake -B build
cmake --build build
✅ 工业级标准做法
适合:Windows / Linux / macOS 统一
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt
CMake 集成:
set(CMAKE_TOOLCHAIN_FILE ../vcpkg/scripts/buildsystems/vcpkg.cmake)
find_package(fmt CONFIG REQUIRED)
target_link_libraries(app fmt::fmt)
✅ 版本新、可控
❌ 首次编译慢
适合:大型工程、CI
pip install conan
conan install . --output-folder=build --build=missing
conanfile.txt:
[requires]
fmt/10.1.1
[generators]
CMakeToolchain
✅ 非常强大
❌ 学习曲线陡
如 fmt、spdlog、nlohmann/json
直接:
sudo apt install nlohmann-json3-dev
或:
add_subdirectory(third_party/fmt)
update-alternativesvcpkg / conan| 场景 | 推荐 |
|---|---|
| 学习 / 小工具 | APT + CMake |
| 跨平台项目 | vcpkg |
| 企业级 | Conan |
| 稳定服务器 | APT |
如果你愿意,可以告诉我:
我可以直接给你一套 可复制的配置方案。