×.so.×: wrong ELF class: ELFCLAS

2019-05-23  本文已影响0人  犭虫彳亍口苗

问题如标题所示:

解决方案

  1. 先查看程序及动态库位数对应是否有问题,用file命令。若位数对应不合理,重新编译。
    32系统+64程序 = 不ok
    32系统+32程序+64库 =不ok
    64程序+32库 = 不ok
    64系统+32/64程序 = ok!
    总之:64程序不能调用32的库。32的系统不能跑64的程序。
  2. 如果位数对应没问题:
    使用命令:
    $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
上一篇下一篇

猜你喜欢

热点阅读