Error durante la compilación de la muestra de jni de android: inválido -march = opción: `armv5te '

Cuando intento compilar algunas muestras del ndk del android siempre consigo este error:

$ cd ~/Dev/Android/ndk/samples/hello-jni $ ~/Dev/Android/ndk/ndk-build Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile thumb : hello-jni <= hello-jni.c Assembler messages: Fatal error: invalid -march= option: `armv5te' make: *** [obj/local/armeabi/objs-debug/hello-jni/hello-jni.o] Error 1 

¿Qué pasa conmigo o con mi sistema?

One Solution collect form web for “Error durante la compilación de la muestra de jni de android: inválido -march = opción: `armv5te '”

He encontrado una solución:

 $ ln -s $NDK_PATH/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-as $NDK_PATH/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.4.3/as 

En primer lugar, ejecuté el constructor con opciones para que se muestre las comunicaciones en ejecución:

 $ ndk-build -BV=1 

De modo que descubrí cómo ejecuta el compilador y pasó el mismo comando a strace

 strace arm-linux-androideabi-gcc -MMD -MP -MF ./obj/local/armeabi/objs-debug/hello-jni/hello-jni.od -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Ijni -DANDROID -Wa,--noexecstack -O0 -g -I/home/aleck/Dev/Android/ndk/platforms/android-8/arch-arm/usr/include -c jni/hello-jni.c -o ./obj/local/armeabi/objs-debug/hello-jni/hello-jni.o 

Que revela que por alguna razón desconocida el brazo-linux-androideabi-gcc hace una búsqueda del programa del ensamblador por pensamiento el estándar pero en este caso el nombre inválido 'como' en vez de 'arm-linux-androideabi-como'

 stat64("/home/aleck/Dev/Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../libexec/gcc/arm-linux-androideabi/4.4.3/as", 0xbfedea68) = -1 ENOENT (No such file or directory) stat64("/home/aleck/Dev/Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../libexec/gcc/as", 0xbfedea68) = -1 ENOENT (No such file or directory) stat64("/home/aleck/Dev/Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/arm-linux-androideabi/4.4.3/as", 0xbfedea68) = -1 ENOENT (No such file or directory) stat64("/home/aleck/Dev/Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/as", 0xbfedea68) = -1 ENOENT (No such file or directory) vfork() = 6931 waitpid(6931, Assembler messages: Fatal error: invalid -march= option: `armv5te' 

Así que hice un enlace suave llamado 'como' en el primer lugar donde se espera que sea.

  • JNI, método booleano de llamada
  • ¿Cómo funciona NDK en Android - ¿Cuál es la orden que NDK, JNI etc se utilizan?
  • Cómo construir una biblioteca compartida y llamarla en otro programa ndk
  • JNI proguard obfuscation
  • Cómo eliminar soporte nativo de un proyecto de Android en eclipse porque eclipse está mostrando errores en jni?
  • Devuelve una matriz String en un método JNI
  • Temporizador de alta precisión en Android JNI
  • Problema pasando byte a través de jni a C en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.