温馨提示×

Ubuntu C++依赖如何管

小樊
41
2026-10-08 07:05:31
栏目: 编程语言

在 Ubuntu 上管理 C++ 依赖,常见有 系统包管理器、源码构建、现代 C++ 包管理器 三种方式。下面按“从简单到专业”给你一个清晰地图。


一、最常用:APT(系统包管理器)

适合:系统库、稳定版本

sudo apt update
sudo apt install libboost-dev
sudo apt install libopencv-dev
sudo apt install libssl-dev

查找库:

apt search libxxx-dev

✅ 优点

  • 简单、稳定
  • 自动解决依赖

❌ 缺点

  • 版本通常偏旧
  • 不适合多版本并存

二、CMake + 系统库(最主流)

适合:项目构建

// main.cpp
#include <boost/asio.hpp>
find_package(Boost REQUIRED)
target_link_libraries(app Boost::boost)

编译:

cmake -B build
cmake --build build

✅ 工业级标准做法


三、现代 C++ 包管理器(推荐新项目)

1️⃣ vcpkg(跨平台,最流行)

适合: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)

✅ 版本新、可控
❌ 首次编译慢


2️⃣ Conan(专业 C++ 包管理)

适合:大型工程、CI

pip install conan
conan install . --output-folder=build --build=missing

conanfile.txt:

[requires]
fmt/10.1.1

[generators]
CMakeToolchain

✅ 非常强大
❌ 学习曲线陡


四、Header-only 库

如 fmt、spdlog、nlohmann/json

直接:

sudo apt install nlohmann-json3-dev

或:

add_subdirectory(third_party/fmt)

五、多版本共存(进阶)

  • 用 update-alternatives
  • 或用容器(Docker)
  • 或用 vcpkg / conan

六、推荐组合(实用)

场景 推荐
学习 / 小工具 APT + CMake
跨平台项目 vcpkg
企业级 Conan
稳定服务器 APT

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • C++ 标准(11/17/20)
  • 用不用 Docker / CMake

我可以直接给你一套 可复制的配置方案。

0 踩