A proper way to do this is to make one subfolder per target architecture (here by creating armeabi-v7a, armeabi, x86.) folders under elastique/lib/android/, and having the right libelastiqueEfficient.a in each of these. ![]() The prebuilt libs that are included should always depend on the target architecture. Inside your Android.mk file, that means the same prebuilts are always included when you target any platform supported the NDK (armv5, armv7, x86, mips, and now all the 64bit archs as well) ![]() But if you have something like: LOCAL_SRC_FILES := elastique/lib/android/libelastiqueEfficient.a I don't know this SDK and how you're including it on Android. The library you're trying to include is indeed built for ARM, hence the incompatible target message. is there a workaround here? Or is the answer simply if the libs weren't built for the same target, then we are sol.? My boss suggested that it might be that the libraries are only built for ARM. Jni/./././AudioStreamData.cpp:778: error: undefined reference to 'CElastiqueIf::DestroyInstance(CElastiqueIf*)' Applications/BeaconMountain/NDK/toolchains/x86-4.8/prebuilt/darwin-x86_64/bin/./lib/gcc/i686-linux-android/4.8/././././i686-linux-android/bin/ld: error: jni/./././elastique/lib/android/libelastiqueEfficient.a(): incompatible target ![]() I get this error: StaticLibrary : libcpufeatures.a Everything seemed to be working fine but I then hit an error once I tried to include a certain library- the elastique audio time stretching lib. We have found the app runs slow in comparison to a windows build, so I am trying to target for X86 instead. So I have an application for android that I can compile using gcc and targeting an ARM architecture- all is good, works perfect. I am a bit of a newbie working with Android but I have come across an issue that I can't seem to find an answer for.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |