下面以 CentOS 7 / CentOS 8 为例,介绍从源码编译安装 GCC 的完整流程。以安装 GCC 13 为例(其他版本方法类似)。
yum groupinstall -y "Development Tools"
yum install -y wget gcc gcc-c++ make gmp-devel mpfr-devel libmpc-devel \
glibc-devel glibc-devel.i686
CentOS 8 使用
dnf代替yum
mkdir -p /usr/local/src/gcc
cd /usr/local/src/gcc
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0
GCC 依赖以下库:
./contrib/download_prerequisites
如果没有网络,可手动下载并放到源码目录。
mkdir build
cd build
../configure \
--prefix=/usr/local/gcc-13 \
--enable-languages=c,c++ \
--disable-multilib \
--enable-bootstrap
说明:
--prefix:安装路径--enable-languages:启用 C/C++--disable-multilib:不编译 32 位支持(64 位系统推荐)make -j$(nproc)
编译时间可能 30 分钟~数小时
make install
echo 'export PATH=/usr/local/gcc-13/bin:$PATH' >> /etc/profile
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-13/lib64:$LD_LIBRARY_PATH' >> /etc/profile
source /etc/profile
gcc --version
g++ --version
输出示例:
gcc (GCC) 13.2.0
alternatives --install /usr/bin/gcc gcc /usr/local/gcc-13/bin/gcc 100
alternatives --install /usr/bin/g++ g++ /usr/local/gcc-13/bin/g++ 100
查看:
alternatives --config gcc
make -j2
cc1plus确认:
/usr/local/gcc-13/libexec/gcc/x86_64-pc-linux-gnu/13.2.0/cc1plus
rm -rf /usr/local/gcc-13
如果你告诉我:
我可以给你完全定制的一键脚本。