2013-04-23 19 views
7

Próbuję zbudować coś za pomocą samodzielnego zestawu narzędzi Android NdK. Jednak napotykam na te błędy.cmake kończy się niepowodzeniem z Androidem 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. 

Istnieją dwa zestawy błędów. Nie mam pojęcia, od czego zacząć od pierwszego zestawu. Plik android.toolchain.cmake domyślnie spogląda na sysroot, ale Android nie jest zainstalowany, a Google nie wymaga instalacji.

Jeśli chodzi o zmienne CMAKE, okazało się, że większość rozwiązań dotyczy instalowania narzędzi programistycznych, które już posiadam. Próbowałem ręcznie ustawić zmienne CXX i CC, ale to nie pomogło.

Wszelkie pomysły, od czego zacząć?

Dziękuję.

Odpowiedz

4

OK, zgaduję tutaj, ale myślę, że używasz http://code.google.com/p/android-cmake/ i dzwonisz do niego z ANDROID_STANDALONE_TOOLCHAIN, podając mu ścieżkę do NDK. Jeśli mam rację, to jest problem.

Powinieneś połączyć się z ANDROID_NDK i podać ścieżkę do swojego NDK. Dokumentacja android-cmake sugeruje, że jest to właściwa droga.

lub

wzywasz go ANDROID_STANDALONE_TOOLCHAIN, ale nadanie mu ścieżkę do zainstalowanego toochain (coś stworzony z make-standalone-toolchain.sh)

Jeśli chcesz pójść tą drogą, można znaleźć informacje o tworzeniu samodzielnych zestawów narzędzi w dokumentacji/STANDALONE-TOOLCHAIN.html w zainstalowanym NDK.

+0

Gdzie powinienem wskazać ANDROID_STANDALONE_TOOLCHAIN ​​w systemie Windows? Ustawiłem "C: \ cygwin64 \ bin", ale nie działało. Nadal mam problem: https://github.com/realm/realm-java/issues/4070#issuecomment-274723770 –

Powiązane problemy