在 CentOS 上配置 C++ 开发依赖,通常分为 系统环境准备、编译器、常用库、构建工具、包管理 等几个方面。下面按常见场景给你一个完整、实用的配置指南。
cat /etc/centos-release
常见版本:
sudo yum groupinstall "Development Tools"
包含:
sudo yum install gcc gcc-c++
查看版本:
g++ --version
CentOS 7 默认 gcc 是 4.8.5,很多现代 C++(C++14/17/20)不支持。
sudo yum install centos-release-scl
sudo yum install devtoolset-11
启用:
scl enable devtoolset-11 bash
永久生效(加入 ~/.bashrc):
source /opt/rh/devtoolset-11/enable
支持版本:
sudo yum install \
openssl-devel \
zlib-devel \
libcurl-devel \
readline-devel \
ncurses-devel \
sqlite-devel
sudo yum install cmake
或安装新版(示例 3.25):
wget https://github.com/Kitware/CMake/releases/download/v3.25.0/cmake-3.25.0-linux-x86_64.sh
chmod +x cmake-3.25.0-linux-x86_64.sh
sudo ./cmake-3.25.0-linux-x86_64.sh --skip-license --prefix=/usr/local
sudo yum install boost-devel
sudo yum install gtest-devel
sudo yum install protobuf-devel
查看是否安装:
rpm -qa | grep boost
wget https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.gz
tar -xzf boost_1_83_0.tar.gz
cd boost_1_83_0
./bootstrap.sh
./b2 install
默认安装到:
/usr/local/include
/usr/local/lib
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)
find_package(Boost REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost)
编译:
mkdir build && cd build
cmake ..
make
sudo yum install gcc-c++
XXX| 项目 | 推荐 |
|---|---|
| OS | CentOS 7 + devtoolset-11 |
| 编译器 | GCC 11 |
| 构建 | CMake |
| 包管理 | yum + 手动编译 |
如果你能告诉我:
我可以给你 更精确的依赖配置方案(甚至 Docker 环境)。