这个错误通常是由于系统上缺少所需的C++标准库版本引起的。GLIBCXX_3.4.2和GLIBXX_3.4.21是C++标准库的两个特定版本。在编译运行一些脚本等文件时会出现上述报错.
1. 终端下输入以下命令以查看所缺少的GLIBCXX版本:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
2.查找编译过的gcc库文件位置:
find / -name "libstdc++.so*"
在输出中找到一个高版本的库路径,这里笔者选择的是gcc自带的6.0.28。
3.删除原本的软链接并创建新的软链接
rm -f /usr/lib64/libstdc++.so /usr/lib64/libstdc++.so.6
cd /usr/lib64
ln -s /usr/local/gcc-10.4.0/lib64/libstdc++.so.6.0.28 libstdc++.so
ln -s /usr/local/gcc-10.4.0/lib64/libstdc++.so.6.0.28 libstdc++.so.6
4.验证是否链接成功
ll /usr/lib64/libstdc++*
得到如下输出即可: