在 CentOS 上配置 C++ 库,通常包含 安装编译器、安装库、配置头文件和链接库 等步骤。下面按常见场景给你一个完整说明(以 CentOS 7 / 8 为例,适用于大多数情况)。
# CentOS 7
sudo yum install -y gcc gcc-c++
# CentOS 8 / Stream
sudo dnf install -y gcc gcc-c++
验证:
g++ --version
# 数学库(一般自带)
sudo yum install -y glibc-devel
# 线程库(pthread)
sudo yum install -y glibc-devel
# OpenSSL
sudo yum install -y openssl-devel
# 网络库(如 libcurl)
sudo yum install -y libcurl-devel
# 数据库
sudo yum install -y mysql-devel
sudo yum install -y postgresql-devel
# 日志库(log4cpp 示例)
sudo yum install -y log4cpp-devel
安装后:
/usr/include/usr/lib64 或 /usr/lib# 安装依赖
sudo yum install -y wget bzip2
# 下载
wget https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2
tar -xjf boost_1_83_0.tar.bz2
cd boost_1_83_0
# 编译
./bootstrap.sh
./b2 install
安装后:
/usr/local/include/usr/local/libg++ main.cpp -o app \
-I/usr/local/include \
-L/usr/local/lib \
-lboost_system
如果库不在系统路径中:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
永久生效(推荐):
sudo vim /etc/ld.so.conf.d/custom.conf
写入:
/usr/local/lib
然后执行:
sudo ldconfig
cmake_minimum_required(VERSION 3.10)
project(test)
set(CMAKE_CXX_STANDARD 17)
find_package(Boost REQUIRED COMPONENTS system)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
add_executable(test main.cpp)
target_link_libraries(test ${Boost_LIBRARIES})
编译:
mkdir build
cd build
cmake ..
make
fatal error: xxx.h: No such file or directory
✅ 解决:
sudo yum install xxx-devel
cannot find -lxxx
✅ 解决:
locate libxxx
或:
ldconfig -p | grep xxx
error while loading shared libraries
✅ 解决:
sudo ldconfig
# 1. 安装编译环境
sudo yum install -y gcc gcc-c++
# 2. 安装库
sudo yum install -y xxx-devel
# 3. 编译
g++ main.cpp -o app -lxxx
# 4. 配置动态库
sudo ldconfig
如果你有 具体库(如 Boost / OpenCV / fmt / spdlog / protobuf) 或 CentOS 版本,可以告诉我,我可以给你一份精确配置方案。