1. 情况描述
linux机器,编译程序正常,但是运行程序报错
2. 错误原因
查看 libstdc++.so 中CXXABI 版本,命令:
strings /lib64/libstdc++.so.6 | grep CXXABI
结果:
发现是libstdc++版本过低导致
3. 解决问题
a> 查找当前环境上是否有高版本的libstdc++.so, 发现有高版本的库
find / -name "libstdc++*so*"
b> 将高版本的库复制到同一目录下
cp /usr/lib64/libstdc++.so.6.0.24 /lib64/
c> 修改软链接,指向新版本库
ln -snf libstdc++.so.6.0.24 libstdc++.so.6
d> 验证程序,可以正常运行