2013-04-23 2 views
7

Я пытаюсь создать что-то с помощью автономной инструментальной привязки Android NdK. Однако я сталкиваюсь с этими ошибками.cmake не работает с android ndk

 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. 

Имеются два набора ошибок. Я не знаю, с чего начать с первого набора. Файл android.toolchain.cmake по умолчанию смотрит в sysroot, но андроид не установлен там, и Google не требует, чтобы я устанавливал его там.

Что касается переменных CMAKE, я обнаружил, что большинство решений связано с установкой инструментов разработчика, которые у меня уже есть. Я попытался вручную установить переменные CXX и CC, но это не помогло.

Любые идеи относительно того, с чего начать?

спасибо.

ответ

4

Хорошо, я сделаю немного догадок здесь, но я думаю, вы используете http://code.google.com/p/android-cmake/, и вы вызываете его с ANDROID_STANDALONE_TOOLCHAIN, предоставляя ему путь к вашему NDK. Если я прав, это проблема.

Вы должны либо позвонить ему с ANDROID_NDK, либо указать путь к вашему NDK. Документация android-cmake предполагает, что это путь.

или

продолжает называть его ANDROID_STANDALONE_TOOLCHAIN, но и обеспечивает ему путь к установленному toochain (что-то созданное с make-standalone-toolchain.sh)

Если вы хотите идти по этому пути, вы можете найти информацию о создании автономных наборов инструментов в документах/STANDALONE-TOOLCHAIN.html в вашем установленном NDK.

+0

Где я должен указывать ANDROID_STANDALONE_TOOLCHAIN ​​в Windows? Я установил «C: \ cygwin64 \ bin», но не работал. У меня все еще есть проблема: https://github.com/realm/realm-java/issues/4070#issuecomment-274723770 –

Смежные вопросы