错误:g++: 错误:unrecognized command line option ‘-std=gnu++14’

今天遇到问题,如上报错,得知一般是由于GCC版本版本太低导致。但我已经安装了高版本,为啥会这样,但安装之前有一个低版本。

使用如下命令,看看是否有多个版本的GCC:

find / -name 'gcc'

得到:

/usr/bin/gcc
/usr/lib/gcc
/usr/libexec/gcc
/usr/local/bin/gcc
/usr/local/lib/gcc
/usr/local/libexec/gcc

看看当前版本:

 /usr/bin/gcc -v

显示:

gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

我安装的是GCC 12,所以修改软链接到高版本。

/usr/local/bin/gcc -v  

显示:

gcc 版本 12.1.0 (GCC) 

修改软链接

mv /usr/bin/gcc /usr/bin/gcc4.8.5
ln -s /usr/local/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++4.8.5
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.8.5
ln -s /usr/local/bin/cc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/c++4.8.5
ln -s /usr/local/bin/c++ /usr/bin/c++

注意执行软链接到时候,看看/usr/local/bin是不是有对应的文件,比如没有CC文件,那么链接出来就会导致出错了。

再次使用/usr/bin/gcc -v,就能看到版本是12了