需要用到更高版本的gcc,因此升級gcc及g++到9.3版
原系統
GNU Make 3.82
Built for x86_64-redhat-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
$ gcc --version
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
Centos7 使用yum安裝的gcc只到4.8.5(2015年版本),想辦法升級到 9.3
安裝
安裝 scl , 這個程式可以指定使用應用程式包
# yum install centos-release-scl-rh
安裝 devtoolset,這裡面包含有更高版本的gcc等程式
目前最新的到9版,如果不行,可試試devtoolset-8或devtoolset-7的版本
# yum install devtoolset-9*
安裝完畢後指定應用程式包(by user)
$ scl enable devtoolset-9 bash
同上,啟動目前程序
修改 /etc/rc.d/rc.local 開機啟動,最下面加入一行
安裝完畢後確認版號
# make --version
GNU Make 4.2.1 <== make升到4版
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
# gcc --version
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) <== gcc,c++,g++都升到相同版號 9.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
查看目前使用的gcc
/opt/rh/devtoolset-9/root/usr/bin/gcc
查看套件資訊
移除
如果需要的話
編譯
可支援 -std=c++14及 -std=c++17 mode,請參考[2] 的使用說明。