Ошибка при использовании статических библиотек в Android NDK - PullRequest
0 голосов
/ 14 апреля 2011

Я получил эту ошибку при попытке использовать статическую библиотеку:

/home/user/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: 
skipping incompatible /home/user/android-ndk-r5b/apps/HelloNDK/obj/local/armeabi/libtest.a when searching for -ltest

В чем может быть проблема? Заранее спасибо

UPDATE: Для компиляции я сделал это:


PREBUILT=/home/user/android-ndk/build/prebuilt/linux-x86/arm-eabi-4.4.0
PLATFORM=/home/user/android-ndk/build/platforms/android-3/arch-arm
INSTALL=/home/user/test-14.3.2/com5

./configure --build=arm \
    --prefix=$INSTALL \

  --with-flac=dyn \

--enable-static \



    CC=$PREBUILT/bin/arm-eabi-gcc \
    CFLAGS="-fPIC -DANDROID" \
    LDFLAGS="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtbegin.o $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtend.o -lc -lm -ldl"

Что не так?

1 Ответ

1 голос
/ 14 апреля 2011

Вы получили подсказку от компоновщика: библиотека, кажется, найдена, но пропущена как неверная.

Вы уверены, что скомпилировали свою библиотеку с тем же компилятором?Если он скомпилирован для другой платформы / с другим компилятором, у вас возникнет проблема с ABI, и компоновщик откажется от lib, что, похоже, и делает.

...