天天看點

Ubuntu16.04安裝GCC 7.4.0編譯器

2018年12月,GNU釋出了GCC7.4版本。電腦中原版本是5.4.0,對最新的C++支援并不友好。

檢視版本的指令是:

gcc --version
           

一、下載下傳GCC。

使用指令下載下傳源碼包:

wget http://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz
           

或者去浏覽器下載下傳:http://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz。

解壓縮:

#解壓gz檔案
tar -zxvf gcc-7.4.0.tar.gz
#若下載下傳的是xz檔案,請使用如下指令
tar -Jxvf gcc-7.4.0.tar.xz
           

二、下載下傳依賴項

cd gcc-7.4.0
## 如果需要更換下載下傳源,請修改檔案中的base_url的值
#vim ./contrib/download_prerequisites
## 下載下傳依賴包
./contrib/download_prerequisites
           

總共需要下載下傳4個包,下載下傳成功的輸出:

2019-04-10 09:55:35 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840] -> "./gmp-6.1.0.tar.bz2" [1]

2019-04-10 09:55:40 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284] -> "./mpfr-3.1.4.tar.bz2" [1]

2019-04-10 09:55:44 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925] -> "./mpc-1.0.3.tar.gz" [1]

2019-04-10 09:55:49 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 [1626446] -> "./isl-0.16.1.tar.bz2" [1]

gmp-6.1.0.tar.bz2: OK

mpfr-3.1.4.tar.bz2: OK

mpc-1.0.3.tar.gz: OK

isl-0.16.1.tar.bz2: OK

All prerequisites downloaded successfully.

如果輸出中有fail,可以去網站手動下載下傳,放在源碼根目錄下。依賴包的網址為:ftp://gcc.gnu.org/pub/gcc/infrastructrue/。

三、編譯安裝

建立一個build目錄,在該目錄下編譯,避免污染源碼。

mkdir build
cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make
make install
           

其中,configure的最後一個參數是關閉32位庫,隻編譯64位庫,我的電腦是64位的。如果想要同時編譯32位和64位,可以使用-enable-multilib。

編譯需要漫長的等待。。。。。。。。。。。。喝杯茶。。。。。。。。。。。。。繼續等。。。。。。。。。。。。