在 CentOS 上配置 C++ 第三方库,通常有 几种常见方式,取决于你用的库和项目方式。下面按从简单到灵活的顺序说明。
适合:系统级常用库(如 boost、opencv、mysql 等)
sudo yum update
# 或 CentOS 8+
sudo dnf update
yum search boost
sudo yum install boost-devel
sudo yum install opencv-devel
⚠️ 一定要装
-devel包,否则只有运行库,没有头文件
g++ main.cpp -o app -lboost_system -lopencv_core
适合:自己管理项目
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
适合:yum 没有 / 需要特定版本
git clone https://github.com/gabime/spdlog.git
cd spdlog
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
默认安装路径:
/usr/local/include/usr/local/libg++ main.cpp -I/usr/local/include -L/usr/local/lib -lspdlog
适合:多平台 C++ 项目
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install fmt
set(CMAKE_TOOLCHAIN_FILE=/path/vcpkg/scripts/buildsystems/vcpkg.cmake)
find_package(fmt CONFIG REQUIRED)
target_link_libraries(app PRIVATE fmt::fmt)
如果运行时找不到 .so:
sudo ldconfig
或临时:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
| 问题 | 原因 |
|---|---|
| 找不到头文件 | 没装 -devel |
| 找不到库 | 没加 -lxxx |
| 运行时找不到 so | 没 ldconfig |
| CentOS 库太老 | 用源码或 vcpkg |
如果你能告诉我:
我可以给你 精确步骤和命令。