CentOS 7下手动编译安装GCC 7.5.X编译器

1、安装依赖环境

bash 复制代码
sudo yum groupinstall "Development Tools"
sudo yum install -y glibc-devel gmp-devel mpfr-devel libmpc-devel \
    bzip2 wget texinfo

2、下载GCC 7.5源码

bash 复制代码
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源)

bash 复制代码
./contrib/download_prerequisites

4、 配置编译环境(推荐新建目录)


bash 复制代码
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、编译安装(耗时较长)

bash 复制代码
sudo make -j$(nproc)        # 使用所有CPU核心加速编译
sudo make install           # 安装到指定目录

6、配置环境变量

bash 复制代码
# 临时生效
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、验证安装

bash 复制代码
gcc --version               # 应显示7.5.0
g++ -std=c++14 -dM -E -x c++ /dev/null | grep -F __cplusplus
# 输出应为:201402L(C++14支持)

可选操作:创建符号链接(软连接)

bash 复制代码
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 快速安装:

bash 复制代码
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash

优先考虑SCL方案,手动编译适用于需要完全控制编译选项的场景,及无法使用SCL的情况。

相关推荐
运维小文1 分钟前
如何在linux抓包&tcpdump&wireshark如何使用
linux·wireshark·抓包·tcpdump·网络工具
听情歌落俗2 分钟前
c++通讯录管理系统
开发语言·c++·算法
技术liul11 分钟前
Centos 7 :VMware Tools 启动脚本未能在虚拟机中成功运行
linux·运维·centos
光头闪亮亮12 分钟前
C++使用nlohmann/json库解析JSON数据应用示例
c++
Peace & Love48714 分钟前
C++初阶 -- 模拟实现list
开发语言·c++·笔记
liliangcsdn20 分钟前
如何结合langchain、neo4j实现关联检索问答
开发语言·python·langchain·neo4j
兮兮能吃能睡38 分钟前
R语言~T检验
开发语言·r语言
预测模型的开发与应用研究39 分钟前
从入门到实操:贝叶斯分析完整技术步骤与核心R包指南
开发语言·人工智能·r语言
j七七44 分钟前
5分钟搭微信自动回复机器人5分钟搭微信自动回复机器人
运维·服务器·开发语言·前端·python·微信
豐儀麟阁贵1 小时前
5.5类的主方法
java·开发语言