2013-04-23 4 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를 조사하지만 안드로이드는 거기에 설치되어 있지 않습니다.

CMAKE 변수와 관련하여 대부분의 솔루션에는 이미 가지고있는 개발자 도구가 포함되어 있습니다. CXX 및 CC 변수를 수동으로 설정하려고 시도했지만 도움이되지 않았습니다.

어디서부터 시작해야합니까?

감사합니다.

답변

4

좋아, 여기에 약간의 추측을 할 것이지만 나는 http://code.google.com/p/android-cmake/을 사용하고 있으며 NDK에 대한 경로를 제공하면서 ANDROID_STANDALONE_TOOLCHAIN으로 호출하고 있다고 생각합니다. 내가 옳다면 그게 문제 야.

ANDROID_NDK를 사용하여 전화를 걸고 NDK의 경로를 제공해야합니다. android-cmake 문서는 이것이 이것이 방법이라고 제안합니다.

또는

보관할 ANDROID_STANDALONE_TOOLCHAIN로 호출하지만 설치 toochain에 그것을 (make-standalone-toolchain.sh로 만든 뭔가)

이 길을 갈려면을 경로를 제공, 설치된 NDK의 docs/STANDALONE-TOOLCHAIN.html에서 독립형 툴 체인 생성에 대한 정보를 찾을 수 있습니다.

+0

Windows에서 어디에서 ANDROID_STANDALONE_TOOLCHAIN을 지적해야합니까? "C : \ cygwin64 \ bin"을 설정했지만 작동하지 않았습니다. 나는 여전히 문제가있다 : https://github.com/realm/realm-java/issues/4070#issuecomment-274723770 –

관련 문제