首頁 > 軟體

CentOS 6.9升級GCC至6.4.0版本

2020-06-16 17:06:06

一、升級前測試:

1、 檢視系統版本:# cat /etc/RedHat-release

2、 檢視預設的gcc版本:# gcc --version

3、 檢視預設動態庫:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

4、 不支援c++11的新特性:

嘗試寫一個C++11特性的程式段tryCpp11.cc,使用了shared_ptr

# vim /tmp/tryCpp11.cc

#include <iostream>

#include <memory>

int main()

{

std::shared_ptr<int> pInt(new int(5));

std::cout << *pInt << std::endl;

return 0;

}

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

二、下載gcc

下載地址http://ftp.gnu.org/gnu/gcc/,版本gcc-6.4.0.tar.xz,或者# yum -y install wget

# wget http://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz

三、編譯安裝gcc

# yum -y install xz

# tar -xf gcc-6.4.0.tar.xz -C /usr/src

# cd /usr/src/gcc-6.4.0

=================================================================================

#./contrib/download_prerequisites

//通過FTP的方式下載編譯gcc時需要用到的mpfr-2.4.2.tar.bz2gmp-4.3.2.tar.bz2mpc-0.8.1.tar.gzisl-0.15.tar.bz2軟體包,由於可能會出現無法下載的情況,所以事先將這4個軟體包放至在/usr/src/gcc-6.4.0目錄下,並解壓

# cd /usr/src/gcc-6.4.0

# cp /software/mpfr-2.4.2.tar.bz2 .

# cp /software/gmp-4.3.2.tar.bz2 .

# cp /software/mpc-0.8.1.tar.gz .

# cp /software/isl-0.15.tar.bz2 .

# tar -xf mpfr-2.4.2.tar.bz2

# tar -xf gmp-4.3.2.tar.bz2

# tar -xf mpc-0.8.1.tar.gz

# tar -xf isl-0.15.tar.bz2

# ln -sv mpfr-2.4.2 mpfr

# ln -sv gmp-4.3.2 gmp

# ln -sv mpc-0.8.1 mpc

# ln -sv isl-0.15 isl

# ls

=================================================================================

# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

# make -j4      //-j4make對多核處理器的優化選項,此步驟非常耗時

# make install

# ls /usr/local/bin | grep gcc

四、設定gcc

# find / -name "libstdc++.so*"

# cd /usr/lib64

# cp /usr/src/gcc-6.4.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 .

# mv libstdc++.so.6 libstdc++.so.6.old

# ln -sv libstdc++.so.6.0.22 libstdc++.so.6

五、升級後驗證:

1、 檢視升級後的gcc版本(有時可能需要重新啟動伺服器才能看到更新後的版本):# gcc --version

2、 檢視最新動態庫:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

3、 支援c++11的新特性:

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

# ./tryCpp11

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-10/147256.htm


IT145.com E-mail:sddin#qq.com