背景需求
在有些項目需要用到c++11的特性的時候,就要求gcc到4.8版本。而centos 6.8 系統帶的gcc是4.4版本。故而需要升級。本次升級採用下載源碼編譯安裝,操作稍稍複雜和耗時。
注意:下方步驟僅僅在centos 6.8版本上測試過,其他linux發行版尚未測試。
編譯安裝步驟
1、下載源碼,下載地址:http://ftp.gnu.org/gnu/gcc/gcc-4.8.2.tar.bz2
2、解壓,
tar -vxf gcc-4.8.2.tar.bz2
3、進入gcc-4.8.2目錄,執行下面命令下載供編譯需求的依賴項
cd gcc-4.8.2
./contrib/download_prerequisites
4.、創建一個編譯目錄,並進入到該目錄下,
mkdir gcc-build
cd gcc-build
5、生成Makefile文件:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
6、編譯:
make -j4
此過程很慢很慢,請耐心等待。
實測過: 2020/06/11 17:30 - 2020/06/11 18:40 , 耗時一小時10分鐘。
-j4選項是make對多核處理器的優化,如果不成功請使用 make
7、安裝,執行
make install
8、查看版本,檢查是否已升級到2.14版本
gcc -v
9、修改軟連接
在/usr/local/lib64/目錄下查看是否存在libstdc++.so.6.0.18文件,如果不存在,則查找下
運行 find / -name “libstdc++.so*”這條命令的時候,看清楚 /usr/local/lib64/libstdc++.so.6.0.18
cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64
ln -s /usr/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6
這兩條命令的時候要把來的替換爲libstdc++.so.6.0.18
升級後查看下中文是否亂碼、時間是否準確
建立完軟連接,如果實在沒有起作用,可以重啓服務器試試