./b2: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found (required by ./b2)./b2: /lib64/libs

        这个错误通常是由于系统上缺少所需的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++*

得到如下输出即可:

猜你喜欢

转载自blog.csdn.net/weixin_44110324/article/details/131848898