對於linux小白來說,只需要先知道怎么安裝,至於為什么等學了linux再說吧。。知識不系統的壞處啊!
首先,一般ubuntu上都預裝了低級版本的Gcc,完全可以應付刷OJ時的C+Class+STL的風格,但因為寒
假里非常固執地要看C++primer,所以只能把編譯器升級到最新版本以符合C++11/14標准。
安裝GCC必備的幾個東西:
1。gcc5.3.0的源代碼壓縮包,這個可以直接去GCC的FTP站上下載。文件名是gcc-5.3.0.tar.gz(wget)
2。四個壓縮包:
m4(即an implementation of the traditional Unix macro processor)、
gmp(即GNU Multiple Precision Arithmetic Library)、
mpfr(即multiple-precision floating-point computations with correct rounding)
在GCC的官方FTP鏡像站都能找到以上幾個包,可以暫時解壓到temp文件夾中。
這四個包中,第一個可以通過ubuntu軟件中心默認安裝。下面四個則不能隨意安裝,實際上,他們是按照gmp-->mpfr--->mpc-->gcc
的順序來安裝的。
安裝流程:注意#后為注釋
(1)ubutu軟件中心自動下載M4
(2)ftp下載gmp-6.0.1,在當前目錄下,
tar xvf gmp-6.1.0.tar.bz2
#在與gmp-6.1.0同級別的目錄下建一個新文件夾,叫temp(自己命名)
cd temp
../gmp-6.1.0/configure –prefix=/usr/local/gmp-6.1.0 ------------#這句是說,安裝路徑是/usr/local/,名字叫gmp-6.1.0;
make
sudo make install
#安裝好后,可以查看/usr/local/gmp-6.1.0目錄下有三個文件夾
(3)下載安裝mpfr-3.1.3
#先清空temp內的文件,這樣安裝兩個包互補影響,當然也可以另外新建一個文件夾,在你新的文件夾下:
../mpfr-3.1.3/configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.1.0 # prefix是安裝路徑,with是依賴的gmp庫
make
sudo make install
(4)下載安裝mpc-1.0.3
同樣先清空temp文件夾
../mpc-1.0.3/configure –prefix=/usr/local/mpc-1.0.3 –with-gmp=/usr/local/gmp-6.1.0 –with-mpfr=/usr/local/mpfr-3.1.3
make
sudo make install
(5)安裝GCC-----媽蛋才開始說正事
#再次清空temp首先配置GCC,在temp文件夾中執行以下命令,注意,此時temp和gcc-5.3.0在同級目錄下
../gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3
make
make install
#在配置時,對於語言language=選項,可以根據自己需要的編譯器選擇語言。 ,java,obc都可以加進去
#至此GCC5.3安裝完畢。
配置環境變量
此時系統中存在兩個版本的gcc,一個是/usr/bin/gcc , 另一個是/usr/local/gcc-5.3/ 如不修改環境變量,在每次調用5.3版本的gcc時都需要指定路徑。為了方便使用,可以在/usr/bin目錄下做一個符號鏈接
cd /usr/bin
ln -s /usr/local/gcc-5.3/bin/gcc gcc53
ln -s /usr/local/gcc-5.3/bin/g++ g++53
這樣就可以使用gcc53 g++53來調用程序了,舊版本的gcc,g++仍然可以適用。
對於庫路徑同樣需要設置下,這樣,保證在調用庫函數的時候可以適用到新版編譯器的庫函數,在etc/profile文件中適用root權限添加如下代碼
export LD_LIBRARY_PATH=/usr/local/gcc-5.3/lib:/usr/local/gcc-5.3/lib64:$LD_LIBRARY_PATH
注銷重新登錄,使變量生效
至此,gcc5.3安裝完畢,解決了上述C++11的支持問題。