Ubuntu 安裝不同版本的 gcc/g++ 編譯器


  主要內容原載自筆者的另一篇博客Ubuntu18.04 使用過程遇到的問題記錄。這里單獨拿出來便於查閱。

  在使用 Matlab R2018b 時,發現其支持的 g++ 版本為 g++ 6.3.0 ,而在 Ubuntu 發行版上,g++ 版本一般隨系統升級(有些 distribution 上默認不包含編譯環境),所以無法滿足上述需求。這里記錄下 Ubuntu 環境安裝不同版本的 g++ 編譯器。

  (1) 首先通過 g++ --version 查看當前系統的 g++ 版本;

    g++ --version        //查看當前 g++ 版本

  可以看到當前的 g++ 版本為 7.3.0.

  

 

  (2) 通過 apt 命令查看當前可通過 apt 安裝的 g++ 的版本( 顯示的信息依賴於上一次進行 apt-get update 的緩存信息)

    sudo apt-cache search g++ | grep g++        //查看當前與 g++ 相關的包,並篩選其中包含有 g++ 的行

  通過上述命令看到目前可使用 apt 命令安裝的 g++ 版本的情況,包括對應不同版本,不同架構的編譯器,以及對應的庫的支持,一般而言,安裝某版本的 g++ 只需要選擇對應的 g++-n 和 g++-6-multilib 即可。

  

 

  (3) 通過 apt 安裝對應所需要的 g++ 版本和庫。但是這里注意,使用 apt 安裝的 g++ 編譯器和相關庫的版本只能選擇大的版本號如 6 ,而無法指定具體的小版本號 6.3.0,如筆者安裝的 g++-6 的版本實際為 g++-6.4.0.

    sudo apt install g++-n g++-n-multilib        //安裝對應的 g++ 編譯器和庫

  

  (4) 通過命令切換不同的 g++ 編譯器版本。

  通過 update-alternative 為不同版本的編譯器創建鏈接

    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 40    //創建 g++-6 的鏈接,並指定了優先級 40
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 60    //創建 g++-7 的鏈接,並指定了優先級 60

  優先級用於在系統進行自動選擇時確定使用的軟件版本,在自動模式下,總是使用優先級高的版本。

    sudo update-alternatives --config g++        //手動選擇所需的軟件版本

 

  輸入上述命令后,直接通過數字索引選擇所需的 g++ 版本即可。

  

  上述配置過程除可以用於不同版本的編譯器的設置外,還可以用於設置具有相似功能的不同軟件的替換和切換,更多原理的介紹可以參考 update-alternatives 命令的幫助文檔 man update-alternatives。


免責聲明!

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



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