Cmake falla con android ndk

Estoy intentando construir algo usando la herramienta independiente NdK de Android. Sin embargo, estoy corriendo en estos errores.

CMake Warning at cmake/android.toolchain.cmake:387 (message): Using value of obsolete variable ANDROID_NDK_TOOLCHAIN_ROOT as initial value for ANDROID_STANDALONE_TOOLCHAIN. Please note, that ANDROID_NDK_TOOLCHAIN_ROOT can be completely removed in future versions of the toolchain. Call Stack (most recent call first): cmake/android.toolchain.cmake:476 (__INIT_VARIABLE) /usr/local/Cellar/cmake/2.8.10.2/share/cmake/Modules/CMakeDetermineSystem.cmake:86 (include) CMakeLists.txt:16 (PROJECT) CMake Error at cmake/android.toolchain.cmake:412 (FILE): file STRINGS file "/Users/vgokhale/Desktop/android-ndk-r8e/sysroot/usr/include/android/api-level.h" cannot be read. Call Stack (most recent call first): cmake/android.toolchain.cmake:548 (__DETECT_NATIVE_API_LEVEL) /usr/local/Cellar/cmake/2.8.10.2/share/cmake/Modules/CMakeDetermineSystem.cmake:86 (include) CMakeLists.txt:16 (PROJECT) CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER_ENV_VAR CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER CMake Error: Could not find cmake module file:/Users/vgokhale/Desktop/torch-android/src/build/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER_ENV_VAR CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER CMake Error: Could not find cmake module file:/Users/vgokhale/Desktop/torch-android/src/build/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! make: *** No rule to make target `install'. Stop. 

Hay dos conjuntos de errores. No tengo ni idea de por dónde empezar con el primer set. El archivo android.toolchain.cmake se ve en sysroot de forma predeterminada pero android no está instalado allí ni Google requiere que lo instale allí.

En cuanto a las variables CMAKE, encontré que la mayoría de las soluciones implican la instalación de herramientas de desarrollo, que ya tengo. He intentado manualmente la configuración de las variables CXX y CC, pero que no ayudó.

¿Alguna idea de dónde empezar?

Gracias.

Ok, haré un poco de conjeturas aquí, pero creo que estás usando http://code.google.com/p/android-cmake/ y lo estás llamando con ANDROID_STANDALONE_TOOLCHAIN ​​mientras le proporcionas la ruta a tu NDK. Si tengo razón, ese es el problema.

Debería llamar con ANDROID_NDK y proporcionar la ruta a su NDK. La documentación de android-cmake sugiere que este es el camino a seguir.

o

Sigue llamándolo con ANDROID_STANDALONE_TOOLCHAIN, pero proporcionándolo la ruta a un toochain instalado (algo creado con make-standalone-toolchain.sh)

Si desea seguir este procedimiento, puede encontrar información sobre la creación de cadenas de herramientas independientes en docs / STANDALONE-TOOLCHAIN.html en su NDK instalado.

  • Múltiples módulos nativos en Android Studio
  • ¿Cómo instalar el paquete / herramienta Android Studio 2.2 CMake?
  • ¿Cómo enlazar la biblioteca de terceros en el sistema de compilación externa de cmake de Android?
  • Cómo importar bibliotecas compartidas en Cmake para Android
  • ¿Cómo especificar bibliotecas sólo para plataforma Android construir en el archivo .pro?
  • Construyendo una aplicación para Android en Qt usando una biblioteca adicional (Assimp)
  • Compilar y usar binarios ejecutables dependientes de ABI en Android con Android Studio 2.2 y CMake
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.