• CentOS上升级gcc编译器使支持C++11


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

    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,所以再次感谢博主的经验。

  • 相关阅读:
    oracle各个版本的exp/imp兼容性
    AJAX开发 下载和安装ATF的步骤
    页面省略显示——web
    Oracle数据库中分区表的操作方法
    Hashtable的使用(2)
    RMAN之实战RMAN备份
    oracle_索引使用简介
    oracle中rollback的使用方法
    Hashtable的使用
    startup 出现的监听错误或者未初始化服务句柄【数据库归档问题】
  • 原文地址:https://www.cnblogs.com/zhaoosheLBJ/p/10168209.html
Copyright © 2020-2023  润新知