因为须要使用到cilk plus和std=c++14,因此决定将编译器升级。php
基本教程以下:html
1.下载GCC源码:c++
wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz
2.解压:centos
tar -zxvf gcc-5.4.0.tar.gz
3.下载编译所需依赖项:ui
cd gcc-5.4.0 //进入解包后的gcc文件夹
./contrib/download_prerequisites //下载依赖项
cd .. //返回上层目录
4.创建编译输出目录:google
mkdir gcc-build-5.4.0
5.进入输出目录,执行如下命令,并生成makefile文件:url
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.编译:centos7
make -j4
接下来就是等待了,整个过程大约40分钟左右。PS:最好不要在编译过程当中再去作别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也很多。spa
7.安装:.net
编译结束之后,咱们就能够执行安装了:
make install
上面的都是写常规操做,下面是遇到的坑,
具体的问题提示%: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