Ubuntu下gcc多版本共存和版本切換

2021-08-25 08:51:08 字數 1905 閱讀 1499

ubuntu系統使用的gcc版本隨著發布版本的不同而不同,在編譯android系統時不同的版本推薦用不同的gcc去編譯,那麼可不可以改變系統的gcc來適應android編譯環境的需求呢?答案是可以的。

先看看我們系統用的gcc和g++是什麼版本

gcc -v
可以獲得的資訊如下

gcc version 5.2.1
如果我們想使用gcc4.9怎麼辦?首先看看有沒有安裝gcc4.9,

ls /usr/bin/gcc*
結果只有/usr/bin/gcc /usr/bin/gcc-4.4兩個,那麼我們需要安裝

sudo apt-get install gcc-4.9 gcc-4.9-multilib g++-4.9 g++-4.9-multilib
安裝好後輸入以下指令:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 40 

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

接著輸入:

sudo update-alternatives --config gcc
會看到如下的選項,有 3 個候選項可用於替換 gcc (提供 /usr/bin/gcc)。

選擇 路徑 優先順序 狀態

* 0 /usr/bin/gcc-5 50 自動模式

1 /usr/bin/gcc-5 50 手動模式

2 /usr/bin/gcc-4.9 40 手動模式

要維持當前值[*]請按回車鍵,或者鍵入選擇的編號:

要想用哪個gcc就輸入編號吧。

同樣也要設定一下g++的

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 40

如果想刪除可選項的話可以鍵入以下指令:

sudo update-alternatives --remove gcc /usr/bin/gcc-4.9
再用gcc -v 來看一下版本是否改變了。

首先檢視系統中存在哪些gcc版本:

ls /usr/bin/gcc*
然後在編譯指令執行之前,先指定gcc版本:

export cc=/usr/bin/gcc-4.9

export cxx=/usr/bin/g++-4.9

cmake /path/to/your/project

make

修改 cmakelists.txt 檔案,新增如下命令:

set(cmake_c_compiler "/usr/bin/gcc-4.9")

set(cmake_cxx_compiler "/usr/bin/g++-4.9")

參考文獻1、《ubuntu下gcc多版本共存和版本切換》

2、《cmake 指定gcc編譯版本》

GCC多版本共存

方法一 利用環境變數 方法二,鏈結 apt get install gcc 3.4 之後,你需要把usr bin 目錄下的gcc檔案刪除掉或者避免意外發生,可以把它命名為gcc.bak。這裡需要說明的如果你不刪除的話,你會 發現你使用ln s usr bin gcc 3.4 usr bin gcc總...

gcc 降級安裝,多版本共存

inux平台上的 更新很快,gcc工具也不斷更新,其向前的相容性往往會存在這樣那樣的小問題。由此,在程式編譯過程中經常碰到由於gcc版本不一致造成的警告和錯誤。為應付這種問題可能需要在準備不同版本的gcc 例如gcc 4.2和gcc 3.4 當前的gcc版本為gcc 4.2,需要切換到gcc 3.4...

Linux環境下多版本編譯器 gcc 共存

在linux開發環境下,有時候會遇到安裝配置不同依賴包,而需要用到不同版本gcc或g 的情況,筆者最近在進行海思平台的相關開發時就遇到過這種情況,需要同時在乙個linux環境中安裝多個版本的gcc和g 工具,並針對不同的編譯需求進行版本的切換,因此把方法記錄下來。apt get install gc...