網上搜了一大堆,感覺還是修改默認的這個思路好用,原文https://blog.csdn.net/ThorKing01/article/details/92637235
可以讓系統存在兩個gcc版本,我安裝的Ubuntu16.04默認gcc 5.6,但是為了編譯linux0.11想要降級到gcc 3.4,原文是gcc 4.8和gcc 6.2切換。
按照如下步驟即可:
(1)在Ubuntu 16.04上安裝老版gcc十分簡單,直接用apt-get命令下載即可。
sudo apt-get install gcc-4.8
安裝完成后輸入命令gcc --verison查看gcc的版本,此時還是6.2。
(2)設置gcc的默認版本。
設置之前可以先輸入命令ls /usr/bin/gcc* 查看gcc 4.8版本是否安裝成功。
然后輸入下面的命令設置默認版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
最后的數字為優先級(越大越高),因為只有一個4.8版本作為alternatives,可以不要糾結數字,這樣設就行了
(3)然后可以輸入以下命令查看設置結果(非必須)
sudo update-alternatives --config gcc
因為只設置了一個,所以顯示結果為:"鏈接組 gcc (提供 /usr/bin/gcc)中只有一個候選項:/usr/bin/gcc-4.8無需配置.",如果有多個則會顯示一個按優先級的列表.
(4)最后再次輸入命令gcc -version查看gcc的版本已經變成4.8啦...就成功啦.
(5)切換為6.2版本:現在默認版本已經是4.8版本,如果想用6.2版本,則gcc-6.2 將gcc6.2的優先級調大。
g++ 等其他軟件也是這樣設置進行版本升級/降級.
當以上設置不需要的時候輸入以下命令刪除:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
update-alternatives的使用
update-alternatives命令常用來處理Linux中軟件的多版本共存。其管理目錄為/etc/alternatives
使用語法與參數
$ update-alternatives --help 用法:update-alternatives [<選項> ...] <命令> 命令: --install <鏈接> <名稱> <路徑> <優先級> [--slave <鏈接> <名稱> <路徑>] ... 在系統中加入一組候選項。 --remove <名稱> <路徑> 從 <名稱> 替換組中去除 <路徑> 項。 --remove-all <名稱> 從替換系統中刪除 <名稱> 替換組。 --auto <名稱> 將 <名稱> 的主鏈接切換到自動模式。 --display <名稱> 顯示關於 <名稱> 替換組的信息。 --query <名稱> 機器可讀版的 --display <名稱>. --list <名稱> 列出 <名稱> 替換組中所有的可用候選項。 --get-selections 列出主要候選項名稱以及它們的狀態。 --set-selections 從標准輸入中讀入候選項的狀態。 --config <名稱> 列出 <名稱> 替換組中的可選項,並就使用其中哪一個,征詢用戶的意見。 --set <名稱> <路徑> 將 <路徑> 設置為 <名稱> 的候選項。 --all 對所有可選項一一調用 --config 命令。 <鏈接> 是指向 /etc/alternatives/<名稱> 的符號鏈接。(如 /usr/bin/gcc) <名稱> 是該鏈接替換組的主控名。(如 pager) <路徑> 是候選項目標文件的位置。(如 /usr/bin/gcc-4.8) <優先級> 是一個整數,在自動模式下,這個數字越高的選項,其優先級也就越高。