最近几个写android有问到 dlopen failed: "*.so" has unexpected e_machine 错误,现给出解决方案:
readelf -h *.so 看一下头 , 如果是写android的so库,一般肯定包含一下信息
Class=ELF32
Machine=ARM现在大部分android手机都只支持32位,即最高到armv7, 所以so库必须是32位的,且目标平台应该是ARM
gcc 编译 适用于arm 的参数 详询:
http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
http://blog.youkuaiyun.com/lanmo555/article/details/18698391
本文介绍了解决在Android开发中遇到的dlopen failed错误的方法。该错误通常与.so文件不匹配有关,文章提供了检查.so文件是否正确的步骤,并推荐了适用于ARM架构的编译参数资源。
8166

被折叠的 条评论
为什么被折叠?



