在 Ubuntu 上管理 C++ 依赖,常见做法取决于项目规模、构建工具和个人偏好。下面按“从简单到专业”给你一个完整指南。
sudo apt update
sudo apt install build-essential
sudo apt install cmake
sudo apt install gdb
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_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})
mkdir build && cd build
cmake ..
make
✅ 优点
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install fmt spdlog eigen3
cmake -B build -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
✅ 优点
✅ 强烈推荐
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 | 大型 / 企业项目 |
| 手动 | ❌ 不推荐 |
project/
├── CMakeLists.txt
├── vcpkg.json
├── src/
│ └── main.cpp
└── vcpkg/
vcpkg.json
{
"name": "demo",
"version": "1.0.0",
"dependencies": ["fmt", "spdlog"]
}
你可以告诉我:
我可以直接给你 可用的 CMake + vcpkg 模板。