Ubuntu下gcc/g++多版本共存和版本切換
Ubuntu系統使用的gcc版本隨著釋出版本的不同而不同,在編譯android系統時不同的版本推薦用不同的gcc去編譯,那麼可不可以改變系統的gcc來適應android編譯環境的需求呢?答案是可以的。
先看看我們系統用的gcc和g++是什麼版本
gcc -v 可以獲得的資訊如下 :
gcc version 7.3.0 如果我們想使用gcc4.8怎麼辦?首先看看有沒有安裝gcc4.8:
ls /usr/bin/gcc* 結果只有 /usr/bin/gcc /usr/bin/gcc-7 兩個,那麼我們需要安裝 :
sudo apt-get install gcc-4.8 g++-4.8 安裝好後輸入以下指令:
將各個版本gcc加入gcc候選中,設定優先順序(優先順序可以不同版本設定相同,後面再通過配置來指定使用的版本)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
再輸入 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50 接著輸入:
sudo update-alternatives --config gcc 會看到如下的選項,有 3 個候選項可用於替換 gcc (提供 /usr/bin/gcc)。 選擇 路徑 優先順序 狀態 ------------------------------------------------------------ * 0 /usr/bin/gcc-4.8 50 自動模式 1 /usr/bin/gcc-4.8 50 手動模式 2 /usr/bin/gcc-7 50 手動模式
要維持當前值[*]請按回車鍵,或者鍵入選擇的編號: 要想用哪個gcc就輸入編號吧。 同樣也要設定一下g++的
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50 如果想刪除可選項的話可以鍵入以下指令:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8 再用gcc -v 來看一下版本是否改變了。