由于需要使用到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
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
pre.ctl { font-family: "Liberation Mono", monospace }
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
code.ctl { font-family: "Liberation Mono", monospace }
原文地址:https://www.cnblogs.com/JsonZhangAA/p/8971326.html