博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHEL6.4编译安装gcc4.8.1
阅读量:4071 次
发布时间:2019-05-25

本文共 1468 字,大约阅读时间需要 4 分钟。

目录


由于平时用的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
  其中:
  gmp库全称是GNU Multiple Precision Arithmetic Library,又叫GNU多精度算术库,是一个提供了很多操作高精度的大整数,浮点数的运算的算术库,几乎没有什么精度方面的限制,功能丰富,底层做了很多运算速率的优化。
  mpfr库是一个C库,用于具有正确舍入的多精度浮点计算。依赖于gmp库。
  mpc库是一个具有精确舍入的复杂浮点库,依赖于mpfr库。

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

你可能感兴趣的文章
iOS 微信SDK1.8.6后需要UniversalLink解决方案及采坑记录
查看>>
iOS 异形tabBar, 中间item凸起
查看>>
swift中单例的创建及销毁
查看>>
Swift中NSRange和Range的转换
查看>>
获取App Store中App的ipa包
查看>>
iOS 关于pods-frameworks.sh:permission denied报错的解决
查看>>
设置RGBColor
查看>>
设置tabbaritem的title的颜色及按钮图片
查看>>
动态设置label的高度
查看>>
获取键盘高度,调整输入框位置
查看>>
轮番图
查看>>
设置label.text的行间距
查看>>
判断当前网络
查看>>
创建操作/删除多行数据的UITableView的细节
查看>>
验证码倒计时
查看>>
动态设置Cell的高度
查看>>
取消tableView多余的横线
查看>>
NSString MD5加密
查看>>
自定义导航条返回按钮
查看>>
数字字符串转化为时间字符串
查看>>