温馨提示×

Ubuntu C++依赖如何管理

小樊
42
2026-08-17 08:24:09
栏目: 编程语言

在 Ubuntu 上管理 C++ 依赖,常见做法取决于项目规模、构建工具和个人偏好。下面按“从简单到专业”给你一个完整指南。


一、最基础:使用系统包管理器(apt)

1️⃣ 安装常用 C++ 依赖

sudo apt update
sudo apt install build-essential
sudo apt install cmake
sudo apt install gdb

2️⃣ 安装第三方库(以常用库为例)

sudo apt install libboost-all-dev
sudo apt install libopencv-dev
sudo apt install libeigen3-dev
sudo apt install libsqlite3-dev
sudo apt install libcurl4-openssl-dev

✅ 优点

  • 简单、稳定
  • 适合系统级、学习、小项目

❌ 缺点

  • 版本较旧
  • 不易多版本共存

二、使用 CMake 管理依赖(最主流)

1️⃣ 基本 CMake 示例

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(Boost REQUIRED)
find_package(OpenCV REQUIRED)

add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost ${OpenCV_LIBS})

2️⃣ 编译

mkdir build && cd build
cmake ..
make

✅ 优点

  • 工业级标准
  • 跨平台
  • 可配合 vcpkg / conan

三、现代 C++ 依赖管理工具(推荐)

✅ 1. vcpkg(微软,最流行)

安装 vcpkg

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh

安装依赖

./vcpkg install fmt spdlog eigen3

CMake 中使用

cmake -B build -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake

✅ 优点

  • 版本新
  • 库多
  • 跨平台

强烈推荐


✅ 2. Conan(偏专业 / 企业)

pip install conan

conanfile.txt

[requires]
boost/1.83.0

[generators]
cmake
conan install . --output-folder=build --build=missing

✅ 优点

  • 企业级
  • 支持二进制缓存

❌ 学习成本略高


四、手动管理(不推荐)

include_directories(/path/to/include)
link_directories(/path/to/lib)

❌ 容易出问题
❌ 不可维护


五、常见依赖管理方案对比

方式 适合场景
apt 学习 / 系统工具
CMake 中小项目
vcpkg 现代 C++ 项目
Conan 大型 / 企业项目
手动 ❌ 不推荐

六、典型现代 C++ 项目结构示例

project/
├── CMakeLists.txt
├── vcpkg.json
├── src/
│   └── main.cpp
└── vcpkg/

vcpkg.json

{
  "name": "demo",
  "version": "1.0.0",
  "dependencies": ["fmt", "spdlog"]
}

七、我可以帮你进一步

你可以告诉我:

  1. ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)
  2. ✅ 项目类型(学习 / 工程 / 开源)
  3. ✅ 用不用 CMake
  4. ✅ 具体依赖(Boost / OpenCV / fmt / 网络库?)

我可以直接给你 可用的 CMake + vcpkg 模板

0