由于需要使用到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