在 Linux 下用 C++ 配置(使用)第三方库,一般分几种常见方式。下面从最常见到较现代给你一个完整说明,并附示例。
| 方式 | 说明 | 适合场景 |
|---|---|---|
| 系统包管理器 | apt / yum / dnf 安装 |
最常用、最简单 |
| 手动编译安装 | configure / cmake + make |
库不在仓库 |
| pkg-config | 自动获取编译参数 | C/C++ 库 |
| CMake | 现代 C++ 项目 | 推荐 |
| vcpkg / conan | 包管理工具 | 跨平台项目 |
sudo apt update
sudo apt install libopencv-dev
sudo apt install libcurl4-openssl-dev
sudo apt install libboost-all-dev
开发库一般带
-dev后缀
g++ main.cpp -o app `pkg-config --cflags --libs opencv4`
或者手动:
g++ main.cpp -o app -lopencv_core -lopencv_imgproc
pkg-config --list-all | grep opencv
g++ main.cpp -o app $(pkg-config --cflags --libs opencv4)
pkg-config 会自动帮你处理:
-I(头文件路径)-L(库路径)-l(链接库)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
g++ main.cpp -I/usr/local/include -L/usr/local/lib -lxxx
如果运行时报错:
error while loading shared libraries
执行:
sudo ldconfig
cmake_minimum_required(VERSION 3.10)
project(demo)
find_package(OpenCV REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo OpenCV::OpenCV)
mkdir build
cd build
cmake ..
make
✅ 这是目前最推荐的方式
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install opencv
cmake -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..
fatal error: xxx.h: No such file or directory
✅ 解决:
sudo apt install libxxx-dev
undefined reference to `xxx`
✅ 解决:
-lxxx-L 路径ldconfigerror while loading shared libraries
✅ 解决:
sudo ldconfig
或:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
✅ 新手 / 服务器
apt + g++ + pkg-config
✅ 现代 C++ 项目
CMake + find_package
✅ 跨平台 / 大型项目
vcpkg / conan + CMake
如果你愿意,可以告诉我:
我可以直接给你一步一步的命令。