由于需要使用到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. 第一册:lesson7-8.

    原文:Are you a teacher? A:I am a  new student ,my name is A. B:Nice to meet you,my name is B. A:Are yo ...

  2. 服务器文档下载zip格式

    刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Core.Utility;@{ s ...

  3. 【Java每日一题】20170316

    20170315问题解析请点击今日问题下方的“[Java每日一题]20170316”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...

  4. SpringMVC表单验证与Velocity整合

    阅读本文约“1.2分钟” 定义表单类 以Login为例,有username和password两个字段 import javax.validation.constraints.NotNull; impo ...

  5. PATH环境变量

    PATH是环境变量,要大写 那几个目录是你放置linux命令的目录,输入命令后系统会去PATH中寻找是否存在该命令 查看当前环境变量: echo $PATH 也可以用set命令看一下 设置: expo ...

  6. js 位运算符

    MDN定义:位运算符将它的操作数视为32位元的二进制串(0和1组成)而非十进制八进制或十六进制数. 例如:十进制数字9用二进制表示为1001,位运算符就是在这个二进制表示上执行运算,但是返回结果是标准 ...

  7. EF中更新操作 ID自增但不是主键 ;根据ViewModel更新实体的部分属性

    //ID自增但不是主键的情况 public int Update_join<TEntity>(TEntity entity) where TEntity : class { dbconte ...

  8. angular 获取ng-repeat完成状态 $last

    $index $first $middle $last $odd $even html <ul> <li ng-repeat="item in data" rep ...

  9. vue项目编辑修改时批量回显数据

    selectCityServiceOne() { let sendData = { token: this.token, id: this.id } post_ajax('backStage/city ...

  10. Vue2+VueRouter2+webpack 构建项目实战(五):配置子路由

    前言 通过前面几章的实战,我们已经顺利的构建项目,并且从API接口获取到数据并且渲染出来了.制作更多的页面,更复杂的应用,就是各位自己根据自己的项目去调整的事情了. 本章讲一下如何配置子路由,因为我们 ...