GCC升级到8.3.0

4 篇文章 0 订阅
1 篇文章 0 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

关于GCC: GCC是Linux系统下的一种 功能强大、性能优越的多平台编译器。
centos下的yum、Ubuntu下的apt-get都是十分好用的软件包管理工具;
但是有时我们需要进行本地编译安装时,我需要用到GCC,帮助我们进行编译;然而很多系统的自带GCC却依然是4.8.5版本,随着技术的迭代更新,许多软件的原文件,仅凭4.8.5版本已经不能满足。用4.8.5来进行编译安装往往会出现编译不通过、文件缺失等等问题。
这是我们就需要手动对我们系统的GCC进行升级


提示:以下是本篇文章正文内容,即 GCC升级步骤

一、升级前准备

所需工具用途安装
wget下载源码包yum install wget
tar解压源码包yum install tar
bzip2解压依赖库yum install bzip2
flex必备框架yum install flex

以上工具建议在正式下载安装之前进行,避免中途出现一些异常,而降低效率

二、wget下载gcc8.3.0

命令如下:

# wget后面跟下在连接
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.gz

三、安装依赖库

1.解压 gcc8.3.0

命令如下:

# tar解压源码包
tar -zxvf gcc-8.3.0.tar.gz

2.进入解压目录

命令如下:

# 进入他解压目录
cd gcc-8.3.0

3.安装依赖库

命令如下:

# 安装依赖库
./contrib/download_prerequisites

PS: 其中依赖库有四个,分别是 gmp-6.1.0.tar.bz2、mpfr-3.1.4.tar.bz2、mpc-1.0.3.tar.bz2、isl-0.18.tar.bz2,在这一步会依次下载、解压、安装这四个依赖库,由于这四个依赖库是 .tar.bz2 格式,因此在解压时会用到bzip2这个包;如果之前没有安装这bzip2,这里会报错。

四、配置、编译、安装

1.配置

命令如下:

# 建立一个目录 build 、用来存放编译出来的文件
mkdir build
# 进入目录 build
cd build
# 配置
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib

2.编译 && 安装

命令如下:

# 编译
make
# 安装
make install

如果觉得两步麻烦,可以用&& 合并命令

# 编译 && 安装
make && make install

PS: 个人建议合并,因为编译时间非常长!这一步在我的云服务器上执行了近乎4小时;具体时间受限于系统配置和性能。所以如果可以的话,可以午休前开始编译,睡醒了差不多就好了

3.可能会遇到的问题

在这里可能回报错:flex :command not found
报错原因是没有安装flex
解决方案:yum install flex
如果在这里因为忘记安装flex报错,在安装完之后,需要先清空build目录下的文件,在重新执行配置、编译、安装
不清空的话会报错:error: `M4’ has changed since the previous run

五、配置gcc

1. 修改软连接

# 备份原来gcc的软连接
mv /usr/bin/gcc /usr/bin/gcc_old
# 创建新的 gcc 软连接
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
# 备份原来 g++ 软连接
mv /usr/bin/g++ /usr/bin/g++_old
# 创建新的 g++ 软连接
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++

2.加入环境变量

# 设置添加环境脚本
vim /etc/profile.d/gcc.sh
# 写入脚本执行内容
export PATH=$PATH:/usr/local/gcc/bin
# 生效脚本
source /etc/profile.d/gcc.sh
gcc -v

六、检查gcc版本

# 查看版本
gcc -v

效果如图所示在这里插入图片描述

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
gcc8.4.0和gcc8.3.0是GNU编译器套件(GCC)的两个版本。GCC是一个自由和开放源代码的编程语言编译器,可编译多种编程语言,包括C、C++、Fortran等。 首先,两个版本的GCC都是8系列的子版本,相对而言较新。GCC 8.3.0是在2018年1月发布的,而GCC 8.4.0则是在2019年8月发布的。因此,在发布时间上,GCC 8.4.0比GCC 8.3.0更新一些。 其次,两个版本的GCC在功能和性能方面可能有一些差异。在新版本中,通常会修复一些错误,改进一些特性,并提供更好的优化。因此,GCC 8.4.0可能在某些方面更加稳定和强大。此外,新版本的GCC还可能会增加一些新的功能或语言特性支持。 此外,两个版本在编译过程中可能会有一些微小的差异,例如编译器参数的默认设置或针对某些特定的硬件以及操作系统的优化。这些差异可能会导致在某些情况下编译结果的微小差异,但对大多数开发人员来说通常是可以忽略的。 综上所述,GCC 8.4.0和GCC 8.3.0是GCC编译器的两个版本,其中8.4.0比8.3.0稍微新一些,可能在功能、性能和稳定性方面有一些改进和优化。对于选择使用哪个版本,可以根据具体的需求和硬件平台来决定。如果需要较新的功能或更好的优化,可以选择8.4.0版本。如果对功能和性能的要求较低或者已经对8.3.0版本熟悉并且不需要更新,可以继续使用8.3.0版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值