CentOS7 升级GCC

在编译安装不起作用的时候才想起来这个 不知道为什么 编译错误报错

checking size of long long... configure: error: in '/opt/gcc-7.3.0/host-aarch64-unknown-linux-gnu/gcc':
configure: error: cannot compute sizeof (long long)

CentOS 7官方源的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。 红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用源中,而是将这些版本放在scl中。

# 安装centos-release-scl
yum install centos-release-scl
# 列出可以安装的版本 这里是ARM64的AArch64架构
yum list | grep devtoolset | grep gcc.aarch64
# 安装devtoolset 版本自选
yum install devtoolset-9*
# 官方推荐的加载命令 仅对本次bash有效
scl enable devtoolset-9 bash
# 第2种 执行安装软件自带的脚本,可以写入启动脚本中
source /opt/rh/devtoolset-x/enable # x为要启用的版本。
# 直接替换旧的gcc 默认这个时候安装的是4.8.5版本
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version

参考资料:

centos7 升级 gcc 版本

后记:

别用CentOS了球球了