我正在鏈接預生成共享庫。我發現我的.so文件是64位和文件如下所示android ndk prebuild 64位的共享庫
[email protected]:/usr/local/lib$ file libspd.so.3.0.0
libspd.so.3.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=0x1148c741ed5bf3568abd82ec33187b9cf9117cf5, not stripped
信息,當我運行NDK建造,它給了我「incomabpatible目標」。如下所示
[email protected]:~/Projects/spd-viewer-on-android$ ndk-build
[x86] Install : libspdio.so => libs/x86/libspdio.so
[x86] SharedLibrary : libhello-jni.so
/home/li/Android/adt-bundle-linux-x86_64-20131030/android-ndk-r9b/toolchains/x86-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/i686-linux-android/4.6/../../../../i686-linux-android/bin/ld: error: ./obj/local/x86/libspdio.so: incompatible target
collect2: ld returned 1 exit status
make: *** [obj/local/x86/libhello-jni.so] Error 1
這是我的ABI APP_ABI := x86
。
那麼,如何解決這個問題才能成功編譯第三方庫?
爲了完整性,Android現在提供了64位。他們在2014年10月提供了10c NDK。在Android博客上查看[開發人員,啓動您的64位引擎](https://plus.google.com/+AndroidDevelopers/posts/XG1WmNDMe8H)。 – jww