升級gcc 4.8.5


升級gcc 4.8.5

https://www.crifan.com/figure_out_which_version_gcc_support_c11/

 

https://blog.csdn.net/joeblackzqq/article/details/77161575

操作系統是CentOS6.8的32位版本,yum自帶的gcc版本為4.4.7,不支持C++11特性。所以需要升級到4.8.5,至少要升級到4.8.1才完全支持C++11。
    新系統是沒有安裝GCC的,而我們沒有gcc4.8.5的安裝包,只有源碼包,地址為:http://ftp.gnu.org/gnu/gcc/
    源碼包gcc4.8.5不能直接安裝,所以我們需要先編譯源碼再安裝。所以我們還是先有一個編譯環境。yum提供了gcc4.4.7版本的安裝包,所以我們可以先安裝GCC4.4.7,這樣就有了編譯環境,就可以用來編譯gcc4.8.5,然后再安裝gcc4.8.5。
    有人可能會覺得這個麻煩,為什么不能直接安裝gcc4.8.5呢?不是不可以,你得有這個版本的安裝包才行呀。如果有安裝包,就不需要安裝gcc4.4.7,也不需要編譯gcc4.8.5了,就可以直接安裝gcc4.8.5。
    說一下我為什么選擇4.8.5版本,因為4.8.5是4.8.x最高的版本,按理說是4.8.x版本中最好的一個版本。因為4.8.1剛完全支持C++11,后面的幾個小版本肯定是小幅優化或者完善。具體做了什么優化完善,得看更新日志。
    好了,背景知識介紹完畢,下面開始安裝過程。
1.獲取gcc4.8.5的源碼包(不同的版本,基本是只需要換掉后面的版本號即可更換下載地址)

  1. wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2​


2.解壓壓縮包

  1. tar -jxvf gcc-4.8.5.tar.bz2


3.進入解壓后的目錄

  1. cd gcc-4.8.5


4.下載、配置和安裝需要的依賴庫

  1. ./contrib/download_prerequisites


    這個腳本文件會自動幫我們下載、配置、安裝依賴庫,可以節約我們大量的時間和精力。
5.直接在當前目錄下創建一個目錄,存放編譯后的文件。

  1. mkdir gcc-build-4.8.5


6.進入這個目錄來編譯

  1. cd gcc-build-4.8.5


7.生成Makefile文件,准備編譯整個項目(gcc4.8.5)

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

  2.make

  3.sudo make install
    前面的..表示會進入到上一層目錄執行configure。所以gcc-build-4.8.5目錄必須在gcc-4.8.5里面創建,也就是我們這樣創建的。

8.直接用gcc4.8.5編譯程序會報錯誤:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./test4)

解決方法:

新安裝的gcc的libstdc++.so.6的版本在/usr/local/lib下需要重新做軟鏈接到/usr/lib下就行。

libstdc++.so.6 -> /usr/local/lib/libstdc++.so.6.0.19


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM