编译时遇到问题:c++: 错误:unrecognized command line option ‘-std=c++17’
原因:GCC版本太低(CentOS7直接yum安装的GCC版本为4.8.5)
参考:Linux怎样更新Centos下Gcc版本支持C++17?
解决方案:
# GCC升级到 8以上版本(修改 8 更换其他版本)
sudo yum install centos-release-scl
sudo yum install devtoolset-8-gcc*
scl enable devtoolset-8 bash
source /opt/rh/devtoolset-8/enable
#替换软连接(不执行的话,尽管查看版本升级了,但仍然报错不支持c++17)
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/c++ /usr/bin/c++
#查看版本(8.3.1)
gcc --version
了解GCC版本及对C++版本的支持情况:
GCC Releases
GCC版本对C++的支持情况
C++ Standards Support in GCC文章来源:https://www.toymoban.com/news/detail-696356.html
其他:
Centos7.9 gcc4.8.5升级到gcc11文章来源地址https://www.toymoban.com/news/detail-696356.html
到了这里,关于遇到“c++: 错误:unrecognized command line option ‘-std=c++17’”,CentOS升级GCC版本以支持c++17的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!