Ubuntu 中 C++ 库的安装与管理
一 使用 APT 安装系统库
- 更新索引并安装开发包:sudo apt update && sudo apt install libname-dev(开发包通常包含头文件与链接库,例如 libssl-dev、libopencv-dev、libboost-all-dev)。
- 仅运行程序时可安装运行时库:sudo apt install <library_name>(如 sqlite3)。
- 搜索与卸载:apt search ;sudo apt remove <library_name>。
- 常见示例:
- OpenSSL:sudo apt install libssl-dev
- OpenCV:sudo apt install libopencv-dev
- Boost:sudo apt install libboost-all-dev
- SQLite:sudo apt install sqlite3
- 建议同时安装构建工具:sudo apt install build-essential(包含 gcc/g++、make 等)。
二 使用 CMake 查找与链接库
- 在 CMakeLists.txt 中使用 find_package 定位依赖,并用 target_link_libraries 链接目标。示例:
- find_package(Boost REQUIRED COMPONENTS system)
- target_link_libraries(MyProject Boost::system)
- find_package(OpenSSL REQUIRED)
- target_link_libraries(MyProject ${OPENSSL_LIBRARIES})
- 构建流程:mkdir build && cd build && cmake … && make。
三 使用第三方包管理器 vcpkg 与 Conan
- vcpkg(跨平台,适合对版本与可移植性有要求的项目):
- 安装与引导:git clone https://github.com/microsoft/vcpkg.git && cd vcpkg && ./bootstrap-vcpkg.sh
- 集成与安装:./vcpkg integrate install;./vcpkg install libname(如 sqlite3)
- 在 CMake 中通过工具链或 triplet 使用(如 openssl:x64-linux)。
- Conan(跨平台二进制管理,适合团队与 CI):
- 安装与初始化:pip install conan;conan new myproject/ --detect;cd myproject
- 安装依赖:conan install .(配合 conanfile.txt 或 conanfile.py 管理版本与生成器)。
四 从源码手动编译安装
- 典型步骤:
- 下载与解压:wget && tar xzf <file.tar.gz>
- 配置与构建:cd && mkdir build && cd build && cmake … && make
- 安装到系统:sudo make install(常见安装前缀为 /usr/local/lib、/usr/local/include)
- 手动安装便于定制与调试,但需自行处理依赖、兼容性与卸载。
五 常见问题与排查
- 找不到头文件或库:优先安装对应的 -dev 包;使用 pkg-config --list-all | grep 检查是否可用;在 CMake 中使用 find_package 并链接相应目标或库变量。
- 多版本并存与路径:系统库通常在 /lib、/usr/lib;手动安装常到 /usr/local/lib,必要时在 CMake 或环境变量中补充搜索路径。
- 构建工具缺失:安装 build-essential 获取 gcc/g++/make 等基础工具链。