工作中有時需要進行gcc的升級,尤其是centOS的用戶。centOS上的軟件版本一般比較舊,我使用的是centOS 6.8, 該系統上原有的gcc版本是4.4.7, 不支持C++11標準的特性。
最近在工作中遇到要編譯一個使用了C++11標準的開源代碼,因而需要進行gcc的升級。
gcc 升級的兩種方法
目前知道兩種升級gcc 的方法:
- 直接編譯安裝新版本的gcc (目測前方坑很多)
- 安裝devtoolset來升級gcc, (網上說這種方式很簡單)
使用devtoolset升級gcc版本
下面通過devtoolset來升級下gcc
devtoolset目前有4個版本:devtoolset-1.1 devtoolset-2 devtoolset-3 devtoolset-4,以上版本分別對應gcc的版本爲4.7、4.8、4.9、5.2。
gcc 4.8好像就完全支持C++11了, 安全起見,我打算安裝gcc 4.9。(如果想升級到其他版本,可以google下相關的關鍵字)
下面是升級步驟(在centOS 6.8上親測有效)
yum install centos-release-scl-rh centos-release-scl
yum check-update
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
升級之後需要啓動devtoolset
:
source /opt/rh/devtoolset-3/enable
測試發現當前命令似乎只對本次shell有效,所以可能需要把這條命令加入到~/.bashrc中。
接下來可以通過gcc -v
查看是否更新完畢。