目前正在使用Ubuntu 14.04 LTS, 雖然更新了HWE之後, 系統仍然在不斷的維護he更新, 但是編譯工具是不會更新的, 如果目前我還在使用Ubuntu 14.04, 是無法體驗新版gcc的. 怎麼辦呢?
其實, 在toolchain/test
下已經有打包好的gcc, 版本有4.x、5.0、6.0等, 並為Ubuntu10.04~16.04軍均提供了gcc包, 如下圖所示
用這個PPA升級gcc就可以啦
首先添加ppa到庫:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
默認在系統中安裝的是gcc-4.8, 但現在都什麼年代了萬一有重要或者好玩的更新呢, 接著就可以選擇安裝gcc-4.9, gcc-5之類的啦!(注意目前gcc-5實際上是5.3.0,沒有5.1或5.2可供選擇)
sudo apt-get install gcc-4.8 g++-4.8
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get install gcc-5 g++-5
sudo apt-get install gcc-6 g++-6
具體希望安裝哪個版本, 大家可以自己選擇
下面這個過程是可選的(非必須), 當然我們也可以直接使用upgrade
或者dist-upgrade
更新來更新gcc/g++
sudo apt-get upgrade
The following packages have been kept back
, 說明有部份packages的安裝版比release版新, 因此我們使用apt-get -u dist-upgrade
統一更新到發布的版本. 這條命令會強制更新軟件包到最新版本,並動解決缺少的依賴包.sudo apt-get dist-upgrade
接著現在可以考慮刷新一下, 否則locate等命令是找不到的, 這個也是可選的(非必須)
sudo updatedb && sudo ldconfig
locate gcc | grep -E "/usr/bin/gcc-[0-9]"
locate g++ | grep -E "/usr/bin/g\+\+-[0-9]"
通過locate可以發現, 我們系統中安裝了gcc-4.8和gcc-6兩個gcc版本
出與安全和穩定性的考慮, 目前位置我們系統中gcc -v
查看到的版本仍然是gcc-4.8
, 因此需要我們自己做鏈接
我們正常使用的gcc/g++其實都是/usr/bin/gcc
和/usr/bin/g++
, 他們指向了/usr/bin
下真正版本的gcc/g++
程序
因此我們只需要將標准的gcc/g++
連接到我們期望的gcc/g++
程序即可, 我們有如下兩種方式建立鏈接
自己通過ln命令創建鏈接
通過update-alternatives建立文件關聯
自己通過ln命令創建鏈接
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 g++
sudo rm g++
sudo ln -s g++-6 g++
通過update-alternatives建立文件關聯
如果安裝了同一個軟件的不同版本,可以使用update-alternatives命令設置默認使用哪個版本,典型的如在Ubuntu 14.04裡安裝了gcc-4.8和gcc-6, 想讓gcc命令自動使用gcc-6版
# 命令最後的 20和50是優先級,如果使用auto選擇模式,系統將默認使用優先級高的
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
自此我們的系統就默認選擇了優先級最高的gcc版本, 具體選擇依配置而定, 可以使用update-alternatives --config
修改配置
sudo update-alternatives --query gcc
sudo update-alternatives --config gcc
同理修改g++的方式類似
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50
其實我們還可以自己編譯新的gcc/g++來使用, 但是此過程很繁瑣, 且並不是我們今天內容的重點
Ubuntu 14.04 LTS 版升級到 GCC 4.9.2 http://www.linuxidc.com/Linux/2016-11/136836.htm
Ubuntu 14.04 LTS 下升級GCC到 GCC4.9、GCC5 版本 http://www.linuxidc.com/Linux/2016-11/136839.htm
ToolChain - Ubuntu Wiki
ToolChain test builds
Linux升級GCC 4.8.1清晰簡明教程(Ubuntu 12.04 64位版為例) http://www.linuxidc.com/Linux/2014-04/99583.htm
Ubuntu 14.04 LST安裝GCC 4.1.2 http://www.linuxidc.com/Linux/2016-06/132040.htm
Ubuntu下Vim+GCC+GDB安裝及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm
Ubuntu下兩個GCC版本切換 http://www.linuxidc.com/Linux/2012-10/72284.htm
CentOS6.5升級手動安裝GCC4.8.2 http://www.linuxidc.com/Linux/2015-01/112595.htm
GCC 的詳細介紹:請點這裡