1)使用root賬號,在opt目錄下創建gcc目錄,然后將gcc包解壓到/opt/gcc目錄下:
[root
@bgs
-5p173-wangwenting opt]# mkdir gcc
[root
@bgs
-5p173-wangwenting opt]# tar -xf /opt/software/gcc-${version}.tar.gz /opt/gcc
|
2)在/opt/software/gcc-${version}/contrib/download_prerequisites文件中注釋掉wget,避免通過網絡下載依賴包:
[root
@bgs
-5p173-wangwenting opt]# cd /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting gcc-${version}]# vim contrib/download_prerequisites //注釋掉其中所有的含wget行,若已經注釋了則無需注釋,如下圖所示。
|
[root
@bgs
-5p173-wangwenting opt]# cd /opt/software
[root
@bgs
-5p173-wangwenting software]# vim contrib/download_prerequisites
[root
@bgs
-5p173-wangwenting software]# cp gmp-
4.3
.
2
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp isl-
0.14
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp mpc-
0.8
.
1
.tar.gz /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp mpfr-
2.4
.
2
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cd /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf gmp-
4.3
.
2
.tar.bz2
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf isl-
0.14
.tar.bz2
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf mpc-
0.8
.
1
.tar.gz
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf mpfr-
2.4
.
2
.tar.bz2
|
3)安裝g++
[root
@bgs
-5p173-wangwenting gcc-${version}]# ./contrib/download_prerequisites
[root
@bgs
-5p173-wangwenting gcc-${version}]# ./configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
[root
@bgs
-5p173-wangwenting gcc-${version}]# make -j23
//如果正確的情況下,該編譯會持續1個半小時,請耐心等待。
|
執行make的可能會報錯:
1.可能你的電腦之前沒有低版本的c++編譯環境,所以會有一個錯誤提示:沒有c容器之類的。解決方法:安裝一個低版本的gcc,可以yum install gcc,如果可以聯網的話。
2.在上面的基礎上再次編譯執行make,可能報錯提示是沒有gcc-c++這個依賴。解決方法:yum install gcc-c++。之后再執行make指令。
[root
@bgs
-5p173-wangwenting gcc-${version}]# make install
|
4)確認鏈接庫是否鏈接正確.
檢查/usr/lib64/libstdc++.so.6,/usr/local/lib64/libstdc++.so,/usr/local/lib64/libstdc++.so.6三個鏈接文件是否存在並鏈接到/usr/local/lib64/libstdc++.so.6.0.21
[root
@bgs
-5p173-wangwenting gcc-${version}]# ll /usr/lib64/libstdc++.so.
6
//可以用改命令查看是否連接正確,如果鏈接的不正確,需要將軟件接刪除,重新鏈接。
示例如下:
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/local/lib64/libstdc++.so
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/local/lib64/libstdc++.so
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/local/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/local/lib64/libstdc++.so.
6
|
5)修改環境變量:
[root
@bgs
-5p173-wangwenting gcc-${version}]# vim /etc/profile
添加下面的內容:
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
[root
@bgs
-5p173-wangwenting gcc-${version}]# source /etc/profile
[root
@bgs
-5p173-wangwenting gcc-${version}]# gcc --version
//查看gcc版本號,如下圖所示。
|