libstdc++.so.6: version `CXXABI_1.3.7‘ not found 解决方法

在CentOS上运行程序时遇到了关于libstdc++.so.6的版本错误,缺失CXXABI_1.3.7和GLIBCXX_3.4.18、3.4.19符号。错误通常由动态库文件引起。检查发现本地libstdc++.so.6缺少所需版本。解决方案是对比系统动态库文件,确认缺失版本并进行替换或升级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误描述

centos上遇到以下的错误:

xxx: /opt/local//libstdc++.so.6: version `CXXABI_1.3.7' not found (required by /opt/local/src2/msisensor2-master/msisensor2)
/opt/local/src2/msisensor2-master/msisensor2: /opt/local//libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /opt/local/src2/msisensor2-master/msisensor2)
/opt/local/src2/msisensor2-master/msisensor2: /opt/local/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /opt/local/src2/msisensor2-master/msisensor2)

这个错误的产生一般是由于动态库文件引起,也就是/usr/lib64目录下的文件。CXXABI_1.3.7,、GLIBCXX_3.4.18、GLIBCXX_3.4.19
丢失的这三个我也不知道是啥,因为我的libstdc++.so.6是在当前的目录下,同样报错的时候也是将文件指向了本地下的libstdc++.so.6。有很大的可能是我本地的文件出现了问题。

解决办法

使用strings 动态库文件路径 grep 丢失的文件查看结果是否与错误中提示相同,如果相同,那就是库文件的问题,直接替换掉就好了

这是我拷贝/usr/lib64下的libstdc++.so.6到当前目录下

[root@localhost ~]# strings /opt/local/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值