由於需要使用到cilk plus和std=c++14,所以決定將編譯器升級。 基本教程如下: 1.下載GCC源碼: 2.解壓: 3.下載編譯所需依賴項: 4.建立編譯輸出目錄: 5.進入輸出目錄,執行以下命令,並生成makefile文件: 6.編譯: 接下來就是等待了,整個過程大約40分鐘左右。PS ...
由於需要使用到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