在 Ubuntu 上“配 C++ 库”一般分几种情况,我按最常见场景给你讲清楚,你可以对号入座。
sudo apt update
sudo apt install build-essential
包含:
g++make测试:
g++ --version
例如:
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
比如 fmt、nlohmann/json
g++ main.cpp -I/path/to/include -o main
.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_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
例如安装 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 |
你可以告诉我:
我可以直接给你可复制的命令或 CMake 配置。