参考:博客
切换到Root用户
yum
install centos-release-scl -y
yum
install devtoolset-7 -y
source /opt/rh/devtoolset-7/enable
g++ -v
查看版本可能还是4.8,并且这次激活也仅仅是对本次回话有效 devtoolset安装在/pot/rh目录下 切换到想要使用的版本目录下执行
./enable
最后要替换旧版本的gcc/g++ 先移除旧版本
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
再建立软连接过来
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
未升级的话不支持C++11 在使用lambda表达式时会报错: terminate called after throwing an instance of 'std::regex_error' what(): regex_error 已放弃(吐核) 若使用以上方法不成功,就不要使用lambda表达式了,写个函数传吧