首先向博主致敬,好的东西拿来共享了,用一下不错。

https://blog.csdn.net/clirus/article/details/62424517

0. 目标 

最近在学习c++11,我本机装的CentOS编译器较老,不支持C++11的新特性,所以我需要把gcc从

4.4.7升级到4.8.1。

1. 需要下载gcc的源码

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

当我们在自己的虚拟机中输入上面命令下载的时候,可能由于你的网络原因无法连接到服务器,出

现这种情况的时候就直接在本地的浏览器中访问http://......  这个地址,就可把压缩包download到本

地,然后在弄到虚拟机中解压继续后面的操作,不要忙活半天纠结。

2. 然后解压进入目录
 tar -xvzf gcc-4.8.1.tar.gz -C /opt/gcc
 cd /opt/gcc/gcc-4.8.1

执行如下命令:
 ./contrib/download_prerequisites

3. 然后在gcc-4.8.1平级目录下创建编译目录
 cd ..
 mkdir build_gcc_4.8.1

4. 接下来就是执行编译了

 cd build_gcc_4.8.1

../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

make -j4    // make 还是时间有点长,不同机器配置可能时间不一样,我的持续了1个多小时

 make install

如果在执行make 和 make install的时候没有遇到error,那么恭喜你,已经完成了gcc-4.8.1安装了。
默认安装路径为:

  /usr/local/bin

5. 接下来就是升级版本了。

 /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40

 /usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40

6. 再次查看你服务器的gcc版本可以看到已经更新为4.8.1

gcc --version 

gcc (GCC) 4.8.1
Copyright © 2013 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

总结:
但其实在make 和 make install的过程中,多多少少还会碰到一些莫名其妙的问题。

我曾经出现的问题就是在make的时候出错了,让我怀疑我下载的安装包是不是有问题。

后来执行 make clean 并删除所有 build的文件后,重新来了一遍,竟然成功了。

经过总结第一次失败和第二次成功的唯一区别是:

第二次gcc-4.8.1解压是放到/opt/gcc/目录下了,后续的build_gcc-4.8.1也是放到/opt/gcc目录下。

而第一次时,解压源码gcc-4.8.1和后续的build_gcc-4.8.1都是放到/opt/根目录下。

我在做的时候按照这个步骤,一路顺风就到了 4.8.1 没有出现Error,所以再次感谢博主的经验。

CentOS上升级gcc编译器使支持C++11的更多相关文章

  1. 如何在CentOS上升级php5.4至5.6?

    如何在CentOS上升级php5.4至5.6? 2017-01-10技术运维PHPApacheCentOSLinux 由于CentOS的默认的php安装源版本都是5.4以下的,如果你的项目对php版本 ...

  2. centos 6升级 GCC 到4.8

    centos 6升级 GCC 到4.8   安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ...

  3. 在CentOS 7.2下升级gcc编译器的版本

    默认情况下,CentOS 7.2预装的gcc版本是4.8.x,通过执行命令 gcc -v 可以看到,一般情况下这个版本的编译器已经满足需要了,但是某些特殊的时候为了支持C++更高的特性,需要对gcc编 ...

  4. CentOS 7 升级gcc/g++编译器

    gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...

  5. centos 7升级gcc到10.2.0

    安装gcc 由于 Linux 操作系统的自由.开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS.Ubuntu.Debian 等.这些 Linux 发行版中,大多数都默认装有 ...

  6. redhat下升级gcc编译器

    在有网络的环境下,采用下载gcc源码进行编译的方式升级gcc版本,所以需要本身已有gcc编译器. 获取 gcc-4.9.2的包: wget http://gcc.skazkaforyou.com/re ...

  7. CentOS 7升级gcc版本

    Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译 1.安装centos-release-scl sudo yu ...

  8. mac上 sublime的配置,支持c++11且支持输入

    首先下载mac版本的 sublimetext3 下载链接: https://www.sublimetext.com/3 接着可以按照其他博客的方法来安装一些插件,便于我们的工作和学习 安装sublim ...

  9. CentOS yum升级GCC到4.8

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo .repo /etc/yum.repos.d --binutils devto ...

随机推荐

  1. DataTable插件 后台分页 (服务器端分页)

    <script type="text/javascript">        var persontable; var personQueryCondition = { ...

  2. Generative Adversarial Nets

    1. 基本思想 两个模型: 判别器:预测从生成器生成的样本的概率 生成器:生成样本时,最大化使得判别器发生错误的概率 最后得到唯一解:使得生成器生成的样本输入到判别器中,得到的概率全是1/2.    ...

  3. oracle 11.2 asynch descriptor resize等待事件

    asynch descriptor resize描述最近部分insert /*+ append */语句出现该等待时间,经查This event is set when the number of a ...

  4. springboot项目打成war包

    在某种情况下,比如..........之下,我们不得不,将springboot打成war包 1.在pom.xml文件中修改 <packaging>war</packaging> ...

  5. Spring错误——Spring AOP——org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException

    背景:学习切面,测试前置通知功能,xml配置如下 <?xml version="1.0" encoding="UTF-8"?> <beans ...

  6. Java 成员变量和属性的区别

    例一: 一个Student pojo类: public class Student{ private String name; private int age; public String getNa ...

  7. LINQ之路14:LINQ Operators之排序和分组(Ordering and Grouping)

    本篇继续LINQ Operators的介绍,这里要讨论的是LINQ中的排序和分组功能.LINQ的排序操作符有:OrderBy, OrderByDescending, ThenBy, 和ThenByDe ...

  8. ssh hibernate修改数据库

     org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in rea ...

  9. Spring-AOP环绕监听出错

    Exception in thread "main" org.springframework.aop.AopInvocationException: Null return val ...

  10. redis缓存服务器集群搭建

    一.安装redis 1.下载redis [root@redis ~]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz 2.安装编 ...