centos/redhat 默认的gcc版本太低,导致好多特性无法体验, 想升级gcc, 但是又不想自己编译一大堆代码, 用下面的命令序列可以升级使用:

yum install centos-release-scl
yum install devtoolset-8
scl enable devtoolset-8 bash

这样在当前会话中就可以使用新版本的gcc了,当然推出当前bash后, gcc就恢复默认了.

[root@centos75 examples]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-8/root/usr --mandir=/opt/rh/devtoolset-8/root/usr/share/man --infodir=/opt/rh/devtoolset-8/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-8.2.1-20180905/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)

也可以不安装所有的devtoolset 可以只安装gcc

yum install devtoolset-8-gcc

默认devtoolset安装到了/dev/opt/rh/devtoolset-8/ 了, 可以把这个路径添加的path中永久使用.

cat /opt/rh/devtoolset-8/enable 这个脚本就是环境配置脚本.