当前位置: 首页 > news >正文

Centos7:升级gcc、g++到版本5.2.0

背景

        Centos7.9版本默认的g++版本是4.8.5,在实践golang项目中,用到C++14,编译时会报错:
gcc: error: unrecognized command line option ‘-std=c++14’

        

        因此,gcc需要升级到更高版本,我这里使用源码编译形式升级到gcc5.2.0,记录升级步骤,以供学习。

步骤

1、下载gcc5.2.0源码

切换到源码放置的目录(任意目录均可)

cd /usr/local/src

下载源码包

wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2

解压

tar -jxvf gcc-5.2.0.tar.bz2

# 进入gcc目录安装

cd gcc-5.2.0

2、下载某些依赖包

        修改gcc-5.2.0目录下的依赖文件

       vim ./contrib/download_prerequisites

#! /bin/sh
GRAPHITE_LOOP_OPT=yes

# Necessary to build GCC.
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1
wget https://ftp.gnu.org/gnu/mpfr/$MPFR.tar.bz2 --no-check-certificate || exit 1
tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1
wget https://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 --no-check-certificate || exit 1
tar xjf $GMP.tar.bz2  || exit 1
ln -sf $GMP gmp || exit 1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1
wget https://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz --no-check-certificate || exit 1
tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1

# Necessary to build GCC with the Graphite loop optimizations.
if [ "$GRAPHITE_LOOP_OPT" = "yes" ] ; then
  ISL=isl-0.14

  #wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 || exit 1
  wget https://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 --no-check-certificate || exit 1
  tar xjf $ISL.tar.bz2  || exit 1
  ln -sf $ISL isl || exit 1
fi

执行下载命令,下载某些依赖包
./contrib/download_prerequisites

3、编译安装

# 创建bulid文件夹
mkdir build
cd build

#配置
../configure --prefix=/usr/local/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib


# 编译安装,注意:此过程耗时较长
make && make install


# 修改软连接
mv /usr/bin/gcc /usr/bin/gcc_bak
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++_bak
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++


# 查看升级后版本
gcc --verson
g++ --version

至此,gcc升级完毕。

http://www.lryc.cn/news/267335.html

相关文章:

  • Pytohn data mode plt
  • 内网离线搭建之----kafka集群
  • 5.1 显示窗口的内容(一)
  • 基于包围盒算法的三维点云数据压缩和曲面重建matlab仿真
  • 关于Python里xlwings库对Excel表格的操作(十八)
  • VScode远程连接服务器,Pycharm专业版下载及远程连接(深度学习远程篇)
  • Vue2和Vue3组件间通信方式汇总(3)------$bus
  • PyTorch加载数据以及Tensorboard的使用
  • TensorFlow是什么
  • docker-compose 安装Sonar并集成gitlab
  • 支付平台在选择服务器租用时要注意什么?
  • IDEA2018升级2023,lombok插件不兼容导致get/set方法无法使用
  • 企业微信服务商代开发模式获取授权企业的客户信息
  • 库存管理方法有哪些
  • 数字化车间推动制造业生产创新
  • Linux的安装及管理程序
  • c语言-表达式求值
  • 小型洗衣机哪个牌子质量好?口碑最好的四款小型洗衣机推荐
  • springCould中的Ribbon-从小白开始【5】
  • 持续集成交付CICD:Jira 发布流水线
  • JuiceSSH结合内网穿透实现公网远程访问本地Linux虚拟机
  • 使用 pytest.ini 文件控制输出 log 日志
  • 【Spring】SpringBoot 配置文件
  • Koordinator 支持 K8s 与 YARN 混部,小红书在离线混部实践分享
  • 网游逆向分析与插件开发-游戏反调试功能的实现-项目需求与需求拆解
  • 阶段七-GitEE
  • Redis小记(1)
  • Flutter windows 环境配置
  • odoo17核心概念view5——ir_ui_view.py
  • 截断整型提升算数转换