温馨提示×

CentOS怎么配置C++库

小樊
41
2026-07-08 18:38:33
栏目: 编程语言

在 CentOS 上配置 C++ 库,通常包含 安装编译器、安装库、配置头文件和链接库 等步骤。下面按常见场景给你一个完整说明(以 CentOS 7 / 8 为例,适用于大多数情况)。


一、安装 C++ 编译环境

1️⃣ 安装 GCC / G++

# CentOS 7
sudo yum install -y gcc gcc-c++

# CentOS 8 / Stream
sudo dnf install -y gcc gcc-c++

验证:

g++ --version

二、安装 C++ 库(常见方式)

✅ 方式一:使用 yum / dnf 安装(推荐)

示例:安装常用库

# 数学库(一般自带)
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

✅ 方式二:手动编译安装 C++ 库(如 Boost)

以 Boost 为例:

# 安装依赖
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/lib

三、配置头文件和库路径

1️⃣ 编译时指定路径

g++ main.cpp -o app \
-I/usr/local/include \
-L/usr/local/lib \
-lboost_system

2️⃣ 添加动态库路径(运行时)

如果库不在系统路径中:

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 配置 C++ 库(推荐)

示例 CMakeLists.txt

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 版本,可以告诉我,我可以给你一份精确配置方案

0