因为平时用的linux虚拟机都是RHEL6.4, 自带的gcc版本号太低,不支持C++11,而从gcc4.8.1開始, gcc完美支持C++11全部特性。

故升级了一下。

以下是具体步骤:



1. 下载这4个安装包, gcc, gmp, mpfr, mpc.

  http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2

  ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 

  http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

  http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz



2. 解压缩gcc包

   tar jxvf gcc-4.8.1.tar.bz2



3. 解压缩其他三个包

   这3个包在gcc-4.8.1/contrib/download_prerequisites中有指定。

    tar jxf gmp-4.3.2.tar.bz2

    tar jxf mpfr-2.4.2.tar.bz2

    tar zxf mpc-0.8.1.tar.gz

    mv gmp-4.3.2 gcc-4.8.1/gmp

    mv mpc-0.8.1 gcc-4.8.1/mpc

    mv mpfr-2.4.2 gcc-4.8.1/mpfr

  放在一起后。就不用再单独编译这三个包了。这也是download_prerequisites中的做法。仅仅只是它用的是软链接来实现。



4. 開始编译 

  gcc的编译不能直接在源文件文件夹下进行,而是须要建立一个新的文件夹。在它以下进行编译。优点是编译过程中生成的编译文件不会影响源文件的内容。假设编译失败或者须要又一次编译新版本号。仅仅须要删除这个新建的文件夹就可以。

  mkdir gcc-4.8.1-build

  cd gcc-4.8.1-build/

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

  编译选项说明:--prefix指定gcc要安装到的路径,将来make install会安装到此指定目录。

假设採取默认路径的话。可能会覆盖系统当前的gcc。

假设想保留旧的gcc,须要设置--prefix參数。

由于仅仅用到C。C++。故仅仅指定了这两种语言。mulitlib用于同一时候生成多个平台的代码。比方64 bit平台中。能够同一时候生产32 bit和64 bit两种格式。

make -j2       (本人机器为双核)



5. 安装

  make install



6. 验证

  gcc -v

编译程序时,可能须要加上-std=c++11或者-std=c++0x才干通过。

比如:  g++ 123.cpp -o 123 -std=c++11

RHEL6.4编译安装gcc4.8.1的更多相关文章

  1. CentOS下编译安装Gcc-4.9

    给公司测试服务器搭环境,手工安装gcc-4.9.0颇费功夫,记录如下. 1.安装gcc.g++,系统源默认安装版本为4.4.7: 2.安装依赖包GMP.MPFR.MPC,注意安装顺序: 3.修改动态库 ...

  2. linux(Centos)下编译安装gcc4.8.2

    欢迎转载.转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46811159 近期要用到c++ 11,所以没办法仅仅得把那台ce ...

  3. RHEL6.4编译安装企业级LAMMP平台

    一.LAMMP简介 二.使用软件及服务器架构说明 三.配置及安装过程    1.安装arp与httpd    2.安装mysql    3.安装php(php-fpm)    4.安装Xcache   ...

  4. CentOS 6.4下编译安装 gcc-4.8.0(转)

    转:http://www.centoscn.com/image-text/install/2014/0807/3454.html 1.首先下载源代码 wget http://ftp.gnu.org/g ...

  5. 重新编译安装gcc-4.1.2(gcc版本降级)之TFS安装

    wget http://gcc.parentingamerica.com/releases/gcc-4.1.2/gcc-4.1.2.tar.gz tar -zxfv gcc-4.1.2.tar.gz ...

  6. centos6 编译安装gcc4.8.2

    12 wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.gz 13 rm -r -f g ...

  7. Debian7安装GCC4.8

    参考一  参考二   参考三   参考四 Ubuntu13.04下编译GCC-4.8.2源码并安装成功 CentOS 6编译安装GCC4.8      CentOS 6.4系统编译安装gcc-4.8. ...

  8. 源码安装GCC-4.9.2

    本文参考:http://cuchadanfan.blog.51cto.com/9940284/1689556  感谢原作者的分享! 首先安装基础包,安装网络依赖的时候要用 [root@localhos ...

  9. CentOS编译安装GCC 4.9.2成功

    在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查 ...

随机推荐

  1. Vijos1352 NOI2006 最大获利 最小权闭合图

    Orz胡伯涛<最小割模型在信息学竞赛中的应用> 建图方法: 设立源点S和汇点T,S和用户(共M个)连边,载流量为满足其要求的获利 T和中转站(共N个)连边,载流量为建立该中转站的费用 每个 ...

  2. Android开发系列----sdk下载 环境准备

    今天开始准备Android开发环境,FQ下载Android Studio,官网下载地址 https://developer.android.com/studio/install.html (突然发现我 ...

  3. ubuntu 升级命令

    apt-get update && apt-get dist-upgrade

  4. elasticsearch 性能优化

    #系统默认的最大打开文件数的限制 vi /etc/security/limits.conf   *     -       nproc          50240    *     -       ...

  5. isKindOfClass:和isMemberOfClass:-b

    isKindOfClass: Returns a Boolean value that indicates whether the receiver is an instance of given c ...

  6. 3、MyBatis.Net学习笔记之增删改

    增删改之前先说一下笔记1里提到的一个无法创建ISqlMapper对象的问题. <resultMaps> <resultMap id="FullResultMap" ...

  7. call stack 如何调用

    现在在处理MFC上面的BUG,比较多,刚接触堆债,自我感觉找BUG很好用,总结一下记下来: 1. VS环境在程序F5运行状态下/DEBUG/Windows/Call Stack 即可调用堆债: 2. ...

  8. 【Java】WSDL 简介

    WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问. 什么是 WSD ...

  9. codeforces C. k-Tree

    思路:dp[i][j]表示和为i,最大值为j的方案数. #include <cstdio> #include <cstring> #include <algorithm& ...

  10. hdu 5139 Formula

    http://acm.hdu.edu.cn/showproblem.php?pid=5139 思路:这道题要先找规律,f(n)=n!*(n-1)!*(n-2)!.....1!;  不能直接打表,而是离 ...