在 CentOS 上从源码编译安装 GCC,一般步骤如下(以较常见的 GCC 10/11/12 为例,方法通用)。
sudo yum groupinstall "Development Tools" -y
sudo yum install -y wget bison flex gmp-devel mpfr-devel libmpc-devel
如果是 CentOS 8 / Stream,可用
dnf代替yum
以 GCC 12.3.0 为例:
cd /usr/src
sudo wget https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.gz
sudo tar -xf gcc-12.3.0.tar.gz
cd gcc-12.3.0
GCC 自带脚本可自动下载依赖:
./contrib/download_prerequisites
这会下载:
不要直接在源码目录编译
mkdir build
cd build
../configure \
--prefix=/usr/local/gcc-12.3.0 \
--enable-languages=c,c++ \
--disable-multilib \
--enable-bootstrap
参数说明:
--prefix:安装路径--enable-languages:只编译 C/C++--disable-multilib:不编译 32 位--enable-bootstrap:提高稳定性(耗时更长)make -j$(nproc)
服务器建议
make -j$(nproc),笔记本可少一点
sudo make install
export PATH=/usr/local/gcc-12.3.0/bin:$PATH
echo 'export PATH=/usr/local/gcc-12.3.0/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
gcc --version
g++ --version
sudo alternatives --install /usr/bin/gcc gcc /usr/local/gcc-12.3.0/bin/gcc 60
sudo alternatives --install /usr/bin/g++ g++ /usr/local/gcc-12.3.0/bin/g++ 60
切换:
sudo alternatives --config gcc
make -j/usr/bin/gccalternativesbinutils如果你告诉我:
我可以给你精确命令。