r16 r15b r13 para ndk for devices develop android configure android-ndk cross-compiling

r15b - ndk para android



Acerca de arm-eabi-gcc y compilaciĆ³n cruzada (1)

Creo que es difícil (o incluso imposible) utilizar el script ./configure para compilar una biblioteca para Android. Android tiene su propio sistema de construcción Android.mk para el código nativo y creo que esta será la forma más fácil de hacerlo. Debe preparar dicho archivo MAKE manualmente y luego usar el script ndk-build que viene con NDK. Junto con las muestras de NDK están instaladas y puede verificar cómo se verá ese archivo.

Si solo quiere ejecutar configure para generar config.h, siga este enlace http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/ . Contiene información que podría ser útil después del conjunto de parámetros para ./configure

./configure –host=arm-eabi CC=arm-eabi-gcc CPPFLAGS=”-I$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/include/” CFLAGS=”-nostdlib” LDFLAGS=”-Wl,-rpath-link=$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/ -L$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/” LIBS=”-lc “

Tengo una biblioteca de código abierto complicada que necesita ser portada a Android NDK. Primero, necesito configurar (. / Configure). Entiendo: tengo que hacer compilación cruzada con / home / user / android-ndk / build / prebuilt / linux-x86 / arm-eabi-4.4.0 / bin / arm-eabi-gcc Creo que ¿verdad? Esta utilidad configurará correctamente una biblioteca? Si es así, entonces pregunta 2:

1. Estoy intentando compilar una biblioteca así: libao. usa estos comandos:

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/sox-14.3.2/com export CC = "/ home/user/android-ndk/build/prebuilt/linux-x86/arm- eabi-4.4.0/bin/arm-eabi-gcc" export CFLAGS = "-fPIC-DANDROID" export 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 " . / Configure - host = arm - with-gnu-ld - enable-shared /

Al final del ensamblado, reciba lo siguiente: configure: error: ¡No se encontró ningún tipo de 16 bits en esta plataforma!

¿Qué podría significar esto? ¿Cómo arreglar y configurar correctamente la biblioteca? ¿Tal vez puedo de alguna manera más fácil que puedas configurar la biblioteca?