問題根因
這個錯誤一般是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++