由于需要使用到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. Javascript Cookie小插件

    var ManagerCookie = function(){ //添加cookie function addCookie(key,value,time,path){ key = encodeURI( ...

  2. Runtime详解(上)

    这篇关于Runtime讲解参考https://juejin.im/post/593f77085c497d006ba389f0以及https://www.jianshu.com/p/6ebda3cd80 ...

  3. 大话DI依赖注入+IOC控制反转(二) 之 浅析.Net Core中的DI与IOC

      转发时请注明原创作者及地址,否则追究责任.原创:alunchen 在上一篇文章中,我们聊了很多关于定义的方面,比较孤燥,下面我们结合.Net Core聊一下依赖注入&控制反转. 三种对象生 ...

  4. IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问

    IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问 原文:http://docs.identityserver.io/en/release/quickst ...

  5. 结构型---桥接模式(Bridge Pattern)

    定义 桥接模式即将抽象部分与实现部分脱耦,使它们可以独立变化.桥接模式的目的就是使两者分离,根据面向对象的封装变化的原则,我们可以把实现部分的变化封装到另外一个类中,这样的一个思路也就是桥接模式的实现 ...

  6. ProtoBuf使用指南(C++)

    ProtoBuf使用指南(C++) Created: Mar 12, 2019 6:47 PM Last Edited Time: Mar 22, 2019 1:51 PM 1.安装部署 去官网(gi ...

  7. 3. 原子变量-CAS算法

    1. 是什么 ? 2. CAS算法模拟 package com.gf.demo03; public class TestCompareAndSwap { public static void main ...

  8. 【转】AtomicReference与volatile的区别

    来源:AtomicReference与volatile的区别 AtomicReference与volatile的在可见性上的意义是一致的. volatile不能保证原子性,AutomicReferen ...

  9. Flex 弹性布局——笔记

    将容器指定为Flex布局 display:flex -->d-flex display:-webkit-flex /*Safari*/ *float clear vertical-align失效 ...

  10. SpringBoot设置文件上传大小限制--默认为1M

    SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeL ...