因爲須要使用到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