LINUX升级GCC版本至8.3.0

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如LinuxBSDMac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。  GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如FortranPascalObjective-CJavaAdaGo以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。 

本文描述如何通过编译源码,来升级gcc编译版本,由于CentOS默认gcc编译版本4.8.5太低不能满足需求。故此处给出一个编译脚本。

[root@tencent ~]# mkdir /root/gcc
[root@tencent ~]# cd /root/gcc
[root@tencent ~]# vim upgradeGcc.sh
[root@tencent ~]# chmod +x upgradeGcc.sh

下面为脚本具体内容

#! /bin/bash
#在非root用户下,需要进行提权,使用sudo命令
#获取GCC源码
#sudo wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz

#解压
#sudo tar -zxvf gcc-8.3.0.tar.gz
tar -zxvf gcc-8.3.0.tar.gz 

#进入解压后的文件夹
cd gcc-8.3.0/

#下载安装GCC的先决条件
#sudo ./contrib/download_prerequisites
./contrib/download_prerequisites

#返回上一级目录,建立编译输出目录
cd ..
#sudo mkdir bulid
mkdir bulid

#进入输出目录,执行如下命令,生成MakeFile文件
cd bulid/
#sudo ../gcc-8.3.0/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
../gcc-8.3.0/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

#执行命令进行编译,若想加快编译速度,可以在其后面加上-j4(利用4个job,-j8也行),此值不宜设置过高
#sudo make
make

#安装
#sudo make install
make install

#检查版本
gcc -v

#此时,虽安装结束,但path的路径仍为旧路径,故需要更改path环境变量
cp /usr/local/lib64/libstdc++.so.6.0.25 /lib64
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6

执行如下命令,等待安装完成,预计完成时间较长。

[root@tencent ~]# chmod 777 /root/gcc/upgradeGcc.sh
[root@tencent ~]# ./root/upgradeGcc.sh

shell 中的命令既可以以脚本的方式执行,也可以以单条命令执行。

注:在安装过程中,可能会出现没有c++编译环境。此时只需要安装c++编译环境

yum install gcc-c++ -y

猜你喜欢

转载自blog.csdn.net/qq_41955653/article/details/88775031
今日推荐