安装cmake过程g++: 错误:unrecognized command line option ‘-std=gnu++14’
问题根因
这个错误一般是gcc/g++版本太低导致的
疑问
我本地明明安装的是高版本的gcc/g++为何说是低版本的呢,有图为证:
这主要是因为你安装了多个版本的gcc/g++,但是默认(/usr/bin/gcc)的还是低版本的,可以通过如下命令查看是否安装了多个版本
find / -name "gcc",结果如下:
/usr/lib/gcc
/usr/local/lib/gcc
/usr/local/bin/gcc
/usr/local/libexec/gcc
/usr/bin/gcc
然后看下/usr/bin下面的gcc是哪个版本
/usr/bin/gcc --version
gcc (GCC) 4.8.5
/usr/local/bin/gcc --version:
gcc (GCC) 9.3.5
发现多个版本的gcc。
此时我们只需要将/usr/bin下面的gcc软连接到高版本的目录即可
mv /usr/bin/gcc /usr/bin/gcc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/cc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/c++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++