1、安装依赖环境
sudo yum groupinstall "Development Tools"
sudo yum install -y glibc-devel gmp-devel mpfr-devel libmpc-devel \
bzip2 wget texinfo
2、下载GCC 7.5源码
wget https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.xz
tar xvf gcc-7.5.0.tar.xz
cd gcc-7.5.0
3、下载依赖项(GCC源)
./contrib/download_prerequisites
4、 配置编译环境(推荐新建目录)
mkdir build && cd build
../configure \
--prefix=/usr/local/gcc-7.5 \
--enable-languages=c,c++ \
--disable-multilib \
--with-system-zlib
--prefix:指定安装路径(避免覆盖系统默认GCC)
--enable-languages:选择需要编译的语言
--disable-multilib:禁用多架构支持(如仅需64位)
5、编译安装(耗时较长)
sudo make -j$(nproc) # 使用所有CPU核心加速编译
sudo make install # 安装到指定目录
6、配置环境变量
# 临时生效
export PATH=/usr/local/gcc-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-7.5/lib64:$LD_LIBRARY_PATH
# 永久生效(写入 ~/.bashrc 或 /etc/profile)
echo 'export PATH=/usr/local/gcc-7.5/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-7.5/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
7、验证安装
gcc --version # 应显示7.5.0
g++ -std=c++14 -dM -E -x c++ /dev/null | grep -F __cplusplus
# 输出应为:201402L(C++14支持)
可选操作:创建符号链接(软连接)
sudo ln -sf /usr/local/gcc-7.5/bin/g++ /usr/local/bin/g++7
sudo ln -sf /usr/local/gcc-7.5/bin/gcc /usr/local/bin/gcc7
常见问题解决
1、编译失败
确保所有依赖已安装
清理后重试:make distclean
2、动态库未找到
运行 sudo ldconfig
兼容性问题
通过绝对路径使用新GCC(如 /usr/local/gcc-7.5/bin/g++)
替代方案:使用SCL(更简单)
如果允许使用第三方仓库,可通过 Developer Toolset 快速安装:
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
优先考虑SCL方案,手动编译适用于需要完全控制编译选项的场景,及无法使用SCL的情况。