在 Ubuntu 上用 C++ 管理依赖,常见做法可以按项目规模和使用习惯来分。下面从系统级到现代方案系统讲一下。
适合:简单项目、学习、脚本工具
sudo apt update
sudo apt install libboost-dev libeigen3-dev libopencv-dev
g++ main.cpp -o app -lopencv_core -lopencv_imgproc
dpkg -L libboost-dev
✅ 优点:简单、稳定
❌ 缺点:版本旧、不易隔离
很多库提供 .pc 文件:
pkg-config --cflags --libs opencv
示例编译:
g++ main.cpp $(pkg-config --cflags --libs opencv) -o app
CMake 中也可使用:
find_package(PkgConfig REQUIRED)
pkg_check_modules(OPENCV REQUIRED opencv)
适合:中大型 C++ 项目
cmake_minimum_required(VERSION 3.10)
project(demo)
find_package(Boost REQUIRED)
find_package(Eigen3 REQUIRED)
add_executable(app main.cpp)
target_link_libraries(app Boost::boost Eigen3::Eigen)
常见库:
✅ 优点:跨平台
❌ 缺点:系统库版本受限
适合:真实项目、跨平台、版本控制
pip install conan
conanfile.txt[requires]
boost/1.83.0
fmt/10.1.1
[generators]
CMakeDeps
CMakeToolchain
conan install . --output-folder=build --build=missing
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
cmake --build .
✅ 优点:
适合:Windows + Linux 混合开发
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt
CMake:
cmake -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..
适合:团队协作、CI
FROM ubuntu:22.04
RUN apt install -y libboost-dev
| 场景 | 推荐 |
|---|---|
| 学习 / 小工具 | apt + g++ |
| 普通项目 | CMake + apt |
| 多平台 / 商业 | Conan |
| Windows 为主 | vcpkg |
| 团队 / CI | Docker + Conan |
如果你愿意,可以告诉我:
我可以给你一个可直接用的模板。