在 Linux 下配置 C++ 的第三方库,通常分为 安装库 → 配置编译 → 链接库 三个步骤。下面按最常见、最实用的方式给你一个完整说明。
sudo apt update
sudo apt install libxxx-dev
例如:
sudo apt install libopencv-dev
sudo apt install libboost-all-dev
sudo apt install libssl-dev
注意:
libxxx:运行时库libxxx-dev:开发用(头文件 +.so)
sudo yum install xxx-devel
# 或
sudo dnf install xxx-devel
git clone https://github.com/xxx/xxx.git
cd xxx
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
默认安装位置:
/usr/local/include
/usr/local/lib
#include <openssl/ssl.h>
g++ main.cpp -o app -lssl -lcrypto
clang++ main.cpp -o app -lssl -lcrypto
fatal error: xxx.h: No such file or directory
✅ 解决:
g++ main.cpp -I/usr/local/include
cannot find -lxxx
✅ 解决:
g++ main.cpp -L/usr/local/lib -lxxx
.soerror while loading shared libraries
✅ 解决(临时):
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
✅ 解决(永久):
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'
sudo ldconfig
cmake_minimum_required(VERSION 3.10)
project(MyApp)
find_package(OpenSSL REQUIRED)
add_executable(myapp main.cpp)
target_link_libraries(myapp OpenSSL::SSL OpenSSL::Crypto)
mkdir build && cd build
cmake ..
make
✅ CMake 会自动处理:
ls /usr/include/xxx
ls /usr/local/include/xxx
ldconfig -p | grep xxx
| 库 | 安装 | 链接 |
|---|---|---|
| OpenCV | libopencv-dev |
-lopencv_core -lopencv_imgproc |
| Boost | libboost-all-dev |
-lboost_system |
| OpenSSL | libssl-dev |
-lssl -lcrypto |
| pthread | 系统自带 | -lpthread |
| math | 系统自带 | -lm |
✅ 新手:
apt 安装 → g++ 手动链接 → 理解
-I -L -l
✅ 工程化:
CMake +
find_package()
如果你愿意,可以直接告诉我:
我可以给你精确到命令级别的配置方案。