在 CentOS 上配置 C++ 开发库,通常包含 编译器、标准库、第三方库的安装与路径配置。下面按常见场景一步一步说明。
CentOS 7 / 8 / Stream 通用方式:
sudo yum install -y gcc gcc-c++
安装完成后检查版本:
g++ --version
CentOS 7 默认是 g++ 4.8.5
CentOS 8 / Stream 会更新一些
如果你需要 C++11 / 14 / 17 / 20,建议用 devtoolset
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash
永久生效(写入 .bashrc):
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
sudo yum install -y \
glibc-devel \
libstdc++-devel \
make \
cmake
| 库 | 安装命令 |
|---|---|
| OpenSSL | sudo yum install openssl-devel |
| zlib | sudo yum install zlib-devel |
| curl | sudo yum install libcurl-devel |
| Boost | sudo yum install boost-devel |
| MySQL | sudo yum install mysql-devel |
| PostgreSQL | sudo yum install postgresql-devel |
默认搜索路径:
/usr/include
/usr/local/include
自定义路径编译时指定:
g++ main.cpp -I/usr/local/mylib/include
默认路径:
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
指定库路径:
g++ main.cpp -L/usr/local/mylib/lib -lmylib
如果只是 -L,编译能过,运行可能报错:
error while loading shared libraries
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cmake_minimum_required(VERSION 3.10)
project(demo)
set(CMAKE_CXX_STANDARD 17)
include_directories(/usr/local/mylib/include)
link_directories(/usr/local/mylib/lib)
add_executable(demo main.cpp)
target_link_libraries(demo mylib)
编译:
mkdir build
cd build
cmake ..
make
✅ 忘记 ldconfig
✅ 没装 -devel 包
✅ 编译器版本太低,用 devtoolset
g++ --version
ldconfig -p | grep libxxx
rpm -qa | grep devel
如果你有 具体库名(如 OpenSSL / Boost / 自编译库 / CUDA / 某个 SDK),可以告诉我,我可以给你精确到命令级的配置方案。