我想使用Android NDK编译器和Android项目链接我为arm编译的库。但是在编译时我得到以下错误:
/home/android/android-ndk-r9/sources/libraryname/android/arm/lib/libname.so:
incompatible target
我正在为库和我链接的项目使用相同的编译器。我在这里做错了什么?
使用以下脚本构建库:
NDK=/home/android/android-ndk-r9
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
./configure \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
make clean
make
make install
这是来自编译库的objdump:
xa.o: file format elf32-i386
rw-r--r-- 0/0 47720 Aug 3 03:22 2014 xa.o
这是来自与NDK一起使用的库的objdump:
libopentut_la-functionalRegression.o: file format elf32-little
rw-r--r-- 0/0 206612 Aug 3 03:22 2014 libopentut_la-functionalRegression.o