温馨提示×

如何给Ubuntu配C++库

小樊
46
2026-09-26 14:33:31
栏目: 编程语言

在 Ubuntu 上“配 C++ 库”一般分几种情况,我按最常见场景给你讲清楚,你可以对号入座。


一、使用系统自带的 C++ 库(最简单 ✅)

1️⃣ 安装基础编译环境

sudo apt update
sudo apt install build-essential

包含:

  • g++
  • make
  • 标准 C/C++ 库

测试:

g++ --version

2️⃣ 安装常见 C++ 库(apt 方式)

例如:

sudo apt install libboost-all-dev
sudo apt install libeigen3-dev
sudo apt install libopencv-dev
sudo apt install nlohmann-json3-dev

使用方式(示例):

g++ main.cpp -o main -lboost_system

二、自己写 / 引入第三方 C++ 库(头文件 + 链接)

情况 A:只有头文件(header-only)

比如 fmt、nlohmann/json

g++ main.cpp -I/path/to/include -o main

情况 B:有 .so / .a 库文件

g++ main.cpp \
  -I/path/to/include \
  -L/path/to/lib \
  -lmylib \
  -o main

运行前:

export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH

三、使用 CMake 管理 C++ 库(推荐 ✅✅)

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

add_executable(demo main.cpp)
target_link_libraries(demo ${Boost_LIBRARIES})

构建:

mkdir build && cd build
cmake ..
make

四、安装本地编译的 C++ 库(从源码)

例如安装 spdlog:

git clone https://github.com/gabime/spdlog.git
cd spdlog
mkdir build && cd build
cmake ..
make -j
sudo make install

使用时:

#include <spdlog/spdlog.h>

五、常见库对照表

功能 Ubuntu 包名
Boost libboost-all-dev
OpenCV libopencv-dev
Eigen libeigen3-dev
FFTW libfftw3-dev
SQLite libsqlite3-dev
JSON nlohmann-json3-dev

六、如果你愿意,我可以更具体地帮你

你可以告诉我:

  1. 是 用现成库 还是 自己写库
  2. 用 g++ 还是 CMake
  3. 具体是哪个库(Boost / OpenCV / 自研?)

我可以直接给你可复制的命令或 CMake 配置。

0 踩