【问题标题】:cmake fails with android ndkcmake 使用 android ndk 失败
【发布时间】:2013-04-17 03:52:24
【问题描述】:

我正在尝试使用 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 中查找,但 android 没有安装在那里,Google 也不需要我在那里安装它。

关于 CMAKE 变量,我发现大多数解决方案都涉及安装我已经拥有的开发人员工具。我尝试手动设置 CXX 和 CC 变量,但没有帮助。

关于从哪里开始有什么想法吗?

谢谢。

【问题讨论】:

    标签: android c++ android-ndk cmake


    【解决方案1】:

    好的,我会在这里做一些猜测,但我认为您正在使用 http://code.google.com/p/android-cmake/ 并且您使用 ANDROID_STANDALONE_TOOLCHAIN 调用它,同时为其提供您的 NDK 的路径。如果我是对的,那就是问题所在。

    您应该使用 ANDROID_NDK 调用它并提供您的 NDK 的路径。 android-cmake 文档表明这是要走的路。

    继续使用 ANDROID_STANDALONE_TOOLCHAIN 调用它,但为其提供安装的工具链的路径(使用 make-standalone-toolchain.sh 创建的东西)

    如果您想这样做,您可以在已安装的 NDK 的 docs/STANDALONE-TOOLCHAIN.html 中找到有关创建独立工具链的信息。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2018-01-16
    • 1970-01-01
    • 2021-07-09
    • 2023-04-03
    • 2013-10-13
    • 1970-01-01
    相关资源
    最近更新 更多