×.so.×: wrong ELF class: ELFCLAS
2019-05-23 本文已影响0人
犭虫彳亍口苗
问题如标题所示:
解决方案
- 先查看程序及动态库位数对应是否有问题,用file命令。若位数对应不合理,重新编译。
32系统+64程序 = 不ok
32系统+32程序+64库 =不ok
64程序+32库 = 不ok
64系统+32/64程序 = ok!
总之:64程序不能调用32的库。32的系统不能跑64的程序。 - 如果位数对应没问题:
使用命令:
$ldd your.so
查看有没有显示CXXABI 1.3.X not found
相关信息。如果有,恭喜,这个问题好解决。
方法一: 升级gcc
方法二:找到一个高版本的libstdc++.so.6.0.8。 替换掉错误信息提示的那个
rm -f libstdc++.so.6
ln -s ./libstdc++.so.6.0.8 ./libstdc++.so.6