在 Ubuntu 上用 C++ 安装和使用库,通常有三种常见方式。下面按从简单到进阶给你讲清楚,并配上常用示例。
适用于:系统库、第三方库(Boost、OpenCV、MySQL 等)
sudo apt update
一般库名带
-dev
sudo apt install libxxx-dev
| 库 | 安装命令 |
|---|---|
| Boost | sudo apt install libboost-all-dev |
| OpenCV | sudo apt install libopencv-dev |
| MySQL | sudo apt install libmysqlclient-dev |
| SQLite | sudo apt install libsqlite3-dev |
| CURL | sudo apt install libcurl4-openssl-dev |
| pthread | 默认已安装(编译时加 -pthread) |
例如使用 pthread:
g++ main.cpp -o main -pthread
使用 opencv:
g++ main.cpp -o main `pkg-config --cflags --libs opencv4`
很多库安装后提供 .pc 文件。
pkg-config --list-all | grep opencv
g++ main.cpp $(pkg-config --cflags --libs opencv4)
适用于:
git clone https://github.com/xxx/xxx.git
cd xxx
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
默认安装到
/usr/local
g++ main.cpp -I/usr/local/include -L/usr/local/lib -lxxx
cmake_minimum_required(VERSION 3.10)
project(demo)
find_package(OpenCV REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo ${OpenCV_LIBS})
mkdir build
cd build
cmake ..
make
fatal error: xxx.h: No such file or directory✅ 没装 -dev 包
sudo apt install libxxx-dev
undefined reference to ...✅ 没链接库
g++ main.cpp -lxxx
cannot find -lxxx✅ 库没安装或路径不对
sudo ldconfig
dpkg -l | grep libxxx
或
locate xxx.h
如果你愿意,可以告诉我:
我可以直接给你一步一步的命令。