1、準備工作
linux一般可以從軟件包等方式直接安裝gcc,但不一般不是最新版,比如需要支持C++11
等原因,則需要安裝最新版gcc。
先查看已有的gcc版本
如果系統還沒有任何gcc被安裝,則需要從開發包中先安裝默認的低版本的gcc
centos下也可以安裝帶gcc的開發工具:yum groupinstall "Development Tools"
若不先安裝舊版本的話安裝可能會出現如下錯誤:
[cpp] view plaincopy
- //=======================================
- configure: error: no acceptable C compiler found in $PATH
- //=======================================
2、下載
gcc下載地址
ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc
gcc在下面的 releases 文件夾內,目前最新版爲 4.8.2
若直接安裝會出現如下錯誤:
[cpp] view plaincopy
- //=============================出現錯誤=====================================
- configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
- Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
- their locations.
- //==========================================================================
因爲缺少gcc依賴的gmp、mpfr、mpc三個軟件,所以需要下載安裝他們,他們在上面的
infrastructure 文件夾內可以找到。同時gmp與mpfr及mpc之間還有相互依賴關係,所以
要按下面順序安裝,並在 configure後面的選項後面帶上所依賴軟件的路徑
下載好所有文件及解壓後如下:
3、安裝及錯誤解決
[cpp] view plaincopy
- //1、解壓gcc
- $tar -jxvf gcc-4.8.2.tar.bz2
- $cd gcc-4.8.2
- //2、解壓安裝gmp
- $tar -jxvf gmp-4.3.2.tar.bz2
- $cd gmp-4.3.2
- $./configure --prefix=/usr/local/gmp-4.3.2 //gmp安裝路徑
- $make
- $make check
- $sudo make install
- //3、解壓安裝mpfr
- $tar -jxvf mpfr-2.4.2.tar.bz2
- $cd mpfr-2.4.2
- //congfigure後面是mpfr安裝路徑及依賴的gmp路徑
- $configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
- $make
- $make check
- $sudo make install
- //4、解壓安裝mpc
- $tar -zxvf mpc-0.8.1.tar.gz
- $cd mpc-0.8.1
- //congfigure後面是mpc安裝路徑及依賴的gmp和mpfr路徑
- $configure --prefix=/usr/local/mpc-0.8.1
- --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
- $make
- $make check
- $sudo make install
- 若沒有下面的配置,則會出現如下的mpc庫錯誤及其他庫錯誤等等,所以需要進行一系列配置
- //================================出現錯誤======================================
- gcc error while loading shared libraries: libmpc.so.2:
- cannot open shared object file:No such file or directory
- //===============================================================================
- //5、配置庫路徑
- #vi /etc/profile //向/etc/profile文件末尾添加下面的語句(root權限下):
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-4.3.2/lib:
- /usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib
- #source /etc/profile //使其立即生效
- #echo $LD_LIBRARY_PATH //查看配置是否成功
- /usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib //顯示這個表示成功
- #vi /etc/ld.so.conf //編輯這個文件,添加下面路徑
- /usr/local/mpc-0.8.1/lib
- /usr/local/gmp-4.3.2/lib
- /usr/local/mpfr-2.4.2/lib
- $sudo ldconfig
- //6、安裝gcc
- $./configure --prefix=/usr/local/gcc4.8.2 --enable-threads=posix --disable-checking --disable-multilib
- --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
- $make
- $sudo make install
- //7、配置gcc
- #vi /etc/profile //向/etc/profile文件末尾添加下面的語句(root權限下):
- export PATH=$PATH:/usr/local/gcc4.8.2
- #source /etc/profile //使其立即生效
- #rm /usr/bin/gcc //刪除舊的軟連接
- #ln -s /usr/local/gcc4.8.2/bin/gcc /usr/bin/gcc //使新版本建立軟連接
- //下面的同理
- #rm /usr/bin/g++
- #ln -s /usr/local/gcc4.8.2/bin/g++ /usr/bin/g++
4、最後
查看是否安裝更新成功:
這樣最終就安裝更新成功了,安裝過程時間不短,破費功夫,若依賴文件及配置等處理的好的話會快些,過程中會出現很多錯誤, 一定要耐心解決。
一般命令的話在一般用戶下即可解決($),需要 root 權限的,可以用 su 切換到 root 下 (#),或者在一般用戶下,命令前加 sudo ,
關於 sudo 可以查看:
http://blog.csdn.net/wtfmonking/article/details/15494295
5、其他問題
如果不小心誤刪了 /usr/bin/gcc ,可以先刪除舊版 gcc,在從軟件包重新安裝舊版,
最後再按上面的步驟安裝新版。centos下可以:
[cpp] view plaincopy
- $sudo yum remove gcc-* -y
- $sudo yum groupinstall "Development Tools"