温馨提示×

Ubuntu 里 C++ 库怎么配

小樊
41
2026-10-11 06:36:54
栏目: 编程语言

在 Ubuntu 下配置 / 使用 C++ 库,通常分 系统库 和 第三方库 两种情况。下面按常见场景给你一个实用指南。


一、使用系统已有的 C++ 库(最简单)

1️⃣ 安装开发库

Ubuntu 中库一般分两部分:

  • 运行时库:libxxx
  • 开发库(含头文件):libxxx-dev

例如使用 boost:

sudo apt update
sudo apt install libboost-dev

常用示例:

sudo apt install libopencv-dev
sudo apt install libsqlite3-dev
sudo apt install libcurl4-openssl-dev

2️⃣ 写代码并编译

#include <boost/algorithm/string.hpp>

编译:

g++ main.cpp -o main -lboost_system

-l 后面是库名(去掉 lib 和 .so)


二、用 CMake 管理 C++ 库(推荐)

1️⃣ 安装 CMake

sudo apt install cmake

2️⃣ CMakeLists.txt 示例

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(Boost REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost)

3️⃣ 编译

mkdir build && cd build
cmake ..
make

三、手动编译安装第三方 C++ 库

适用于 GitHub 上的库(如 fmt、spdlog、abseil)。

示例:安装 fmt

git clone https://github.com/fmtlib/fmt.git
cd fmt
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install

使用:

#include <fmt/core.h>
g++ main.cpp -lfmt

四、设置头文件和库路径(非系统目录)

如果你把库装到了 /opt/mylib:

g++ main.cpp \
  -I/opt/mylib/include \
  -L/opt/mylib/lib \
  -lmylib

CMake 中:

include_directories(/opt/mylib/include)
link_directories(/opt/mylib/lib)
target_link_libraries(demo mylib)

五、常见工具推荐

  • 包管理:apt、vcpkg、conan
  • 构建工具:CMake(主流)
  • 编辑器:VSCode + C++ 插件

六、快速排查问题

❌ fatal error: xxx.h: No such file → 没装 -dev 包或 -I 路径错

❌ undefined reference to ... → 没加 -lxxx 或链接顺序错

❌ cannot find -lxxx → 库没装或 -L 路径错


如果你有具体库名(比如 OpenCV、Boost、protobuf、Qt),我可以给你精确配置步骤。

0 踩