最近几个写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.csdn.net/lanmo555/article/details/18698391