由于需要使用到cilk plus和std=c++14,所以决定将编译器升级。

基本教程如下:

1.下载GCC源码:

 wget
ftp://mirrors.kernel.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz

2.解压:

 tar -zxvf
gcc-5.4.0.tar.gz

3.下载编译所需依赖项:

  cd
gcc-5.4.0
//进入解包后的gcc文件夹
./contrib/download_prerequisites
//下载依赖项
 cd ..
//返回上层目录

4.建立编译输出目录:

 mkdir
gcc-build-5.4.0

5.进入输出目录,执行以下命令,并生成makefile文件:

  cd
gcc-build-5.4.0
 ../gcc-5.4.0/configure
–prefix=/usr/local
--enable-checking=release
--enable-languages=c,c++
--disable-multilib
--prefix很重要,一定要填。

6.编译:

make -j4

接下来就是等待了,整个过程大约40分钟左右。PS:最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也不少。

7.安装:

编译结束以后,我们就可以执行安装了:

make install

上面的都是写常规操作,下面是遇到的坑,

braced spec is invalid

具体的问题提示%:sanitize(xxx)错误,非法。

这个问题google了一下午,发现解决方法就只有一种,那就是将specs中的%:sanitize(xxx)统统改为fsanitize=xxx。

还有就是安装完成后,我在我笔记本上输入gcc
-v
提示的是5.4。但是centos7这个奇葩,还要设置别的东西,要记得建立软连接:

sudo
ln -s /usr/local/gcc-4.5.0/bin/gcc /usr/bin/gcc
  sudo
ln -s /usr/local/gcc-4.5.0/bin/g++ /usr/bin/g++

参考资料:

1.http://blog.sina.com.cn/s/blog_73cb8ab50102uwq1.html
gcc安装问题   在Linux下安装多个版本的gcc

2.https://gcc.gnu.org/ml/gcc-help/2014-12/msg00028.html
Fatal error during GCC 4.9.2 build

3.https://blog.csdn.net/u012027907/article/details/45459025 Linux编译安装GCC-5.1.0

centos7如何安装gcc5.4的更多相关文章

  1. 在centos7上安装gcc、node.js(源码下载)

    一.在centos7中安装node.js https://www.cnblogs.com/lpbottle/p/7733397.html 1.从源码下载Nodejs cd /usr/local/src ...

  2. CentOS7.5安装网易云音乐

    CentOS7中一直没有一个像样的音乐播放器,网易云音乐与深度科技团队在半年前就启动了“网易云音乐Linux版“, 但是只提供了Ubuntu(14.04&16.04)和deepin15版本,并 ...

  3. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  4. CentOS7 Jenkins安装

    CentOS7 Jenkins安装 CentOS7 Jenkins安装 Download 从Jenkins下载apache-tomcat-8.0.18.tar.gz Install 安装 上传RPM文 ...

  5. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  6. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  7. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  8. 在 CentOS7 上安装 Tomcat9

    在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...

  9. 在CentOS7上安装JDK1.8

    在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...

随机推荐

  1. 【转】10 个很有用的 jQuery 弹出层提示插件

    模态对话框为网站用户提供了快速显示信息的方法,也可以用来提示错误.警告和确认等信息,这里介绍了 10 个弹出模态对话框插件. How to Create a jQuery Confirm Dialog ...

  2. SQL语句NOT IN优化之换用NOT EXISTS

    NOT IN查询示例(示例背景描述:根据条件查询Questions表得到的数据基本在PostedData表中不存在,为完全保证查询结果在PostedData表中不存在,使用NOT IN): SET S ...

  3. spring boot @ResponseBody转换JSON 时 Date 类型处理方法,Jackson和FastJson两种方式,springboot 2.0.9配置fastjson不生效官方解决办法

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式,springboot我用的1.x的版 ...

  4. (8)Jquery1.8.3快速入门_可见性选择器

    一.Jquery的可见性选择器: 可见性选择器: 1.:visable 筛选可以见的元素 2. :hidden 筛选不可见的元素 效果: 源码: <!DOCTYPE html> <h ...

  5. JSJ—编译器与虚拟机哪个重要?

    阅读本文约“2分钟” 熟悉Java的朋友都知道虚拟机还有编译器,那么它们各自主要的功能是什么?谁比较重要呢?让我们来了解一下这两位美女的故事. 虚拟机可以说就是Java,她能让程序运行起来. 但是编译 ...

  6. BootStrapTable 错误

    异常:Cannot read property 'field' of undefined 场景:使用BootStrapTable展示数据时,控制台报错 解决:给table加上 thead 和 tbod ...

  7. Javascript继承5:如虎添翼----寄生式继承

    /* * 寄生式继承 * 其实就是对原型继承的第二次封装,在封装过程中对继承的对象进行了扩展. * 也存在原型继承的缺点!! * 这种思想的作用也是为了寄生组合式继承模式的实现. */ //声明基对象 ...

  8. 使用mybatis开发dao问题总结

    代码片段: @Override public User getUserById(Integer id) { SqlSession sqlSession = sqlSessionFactory.open ...

  9. 自定义简单版本python线程池

    python未提供线程池模块,在python3上用threading和queue模块自定义简单线程池,代码如下: #用threading queue 做线程池 import queue import ...

  10. 34.Odoo产品分析 (四) – 工具板块(5) – 设备及联系人目录(1)

    查看Odoo产品分析系列--目录 设备管理 设备应用用于公司内部的设备管理,跟踪员工的设备及管理维护的要求.  安装"设备"模块:  1 设备 选择设备菜单,并新建一个设备,该表单 ...