一般編譯的時候可能須要新版本的gcc,本文就說明下基於低版本的gcc升級爲gcc7.2
wget 'http://mirrors-usa.go-parts.com/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.gz' // 下載gcc7.2源碼包 tar xvf gcc-7.2.0.tar.gz // 解壓縮,默認解壓出的文件夾名爲gcc-7.2.0 mkdir gcc7objdir // 新建一個編譯目標文件暫存文件夾,官方文檔不建議使用gcc源碼包的文件夾 yum install gmp-devel // 編譯依賴此庫 yum install mpfr-devel // 編譯依賴此庫 yum install libmpc-devel // 編譯依賴此庫 wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2 // 編譯依賴此庫 yum install bzip2 tar -jxvf isl-0.15.tar.bz2 cd isl-0.15 ./configure make make install cd ../gcc7objdir/ // 到剛剛新建的gcc編譯目標暫存文件夾 ../gcc-7.2.0/configure --prefix=/usr/local/gcc7 --enable-languages=c,c++,go --disable-multilib // 指定gcc7安裝地址,指定所需安裝語言,不支持32位 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib // 增長編譯庫依賴地址 make -j4 // Make make install // 安裝
安裝完成以後若是和老版本共存的話須要手動建立軟連接c++
#本部份內容根據實際的系統路徑去配置,配置前記得先備份原有的文件
ln -s /usr/local/gcc7/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc7/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc7/include/c++/7.2.0 /usr/include/c++/7.2.0 ln -s /usr/local/gcc7/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6