在 Ubuntu 下配置 / 使用 C++ 库,通常分 系统库 和 第三方库 两种情况。下面按常见场景给你一个实用指南。
Ubuntu 中库一般分两部分:
libxxxlibxxx-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
#include <boost/algorithm/string.hpp>
编译:
g++ main.cpp -o main -lboost_system
-l后面是库名(去掉lib和.so)
sudo apt install cmake
cmake_minimum_required(VERSION 3.10)
project(demo)
find_package(Boost REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost)
mkdir build && cd build
cmake ..
make
适用于 GitHub 上的库(如 fmt、spdlog、abseil)。
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、conanCMake(主流)VSCode + C++ 插件❌ fatal error: xxx.h: No such file
→ 没装 -dev 包或 -I 路径错
❌ undefined reference to ...
→ 没加 -lxxx 或链接顺序错
❌ cannot find -lxxx
→ 库没装或 -L 路径错
如果你有具体库名(比如 OpenCV、Boost、protobuf、Qt),我可以给你精确配置步骤。