系統是CentOS 7, 自帶的gcc是4.8.4
准備工作:
下載GCC源碼包 gcc-5.5.0.tar.gz,地址(清華大學開源軟件鏡像站ipv6)(備選地址->gnu->gcc)
1.復制到Downloads文件夾下,解壓縮
tar xvf gcc-5.5.0.tar.gz
2.下載依賴包
./contrib/download_prerequisites
3.新建目錄
mkdir gcc5objdir
cd gcc5objdir
4.編譯+安裝
../gcc-5.5.0/configure --prefix=/usr/local/gcc5 --enable-checking=release --enable-languages=c,c++ --disable-multilib make && make install
5.之間已有低版本的gcc存在,先刪除已建的軟連接
rm -rf /usr/bin/gcc rm -rf /usr/bin/g++ ln -s /usr/local/gcc5/bin/gcc /usr/bin/gcc ln -s /usr/local/gcc5/bin/g++ /usr/bin/g++
6.查看新版本
gcc --version
7.運行程序時可能會出現/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found,是因為升級安裝了gcc,生成的動態庫沒有替換老版本的gcc動態庫導致的。
查看包含最新的動態鏈接庫的位置
find / -name "libstdc++.so*"
找到在/usr/local/gcc5/lib64/文件夾下
cp /usr/local/gcc5/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6.0.21 rm -f /usr/lib64/libstdc++.so.6 ln /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
end