【问题标题】:Android NDK - CMake build environment variablesAndroid NDK - CMake 构建环境变量
【发布时间】:2017-01-31 17:34:20
【问题描述】:

我正在使用 NDK (C++) 和 CMake 工具链编写 Android 库。

我使用的 CMake 工具链文件来自 Android/sdk/ndk-bundle/build/cmake 而不是 Android/sdk/cmake。以后不更新和推荐(?)。

我遇到了问题,我只能通过命令行调用设置参数,但不能从 CMakeLists.txt 文件中设置参数。

我的命令行是:

# Generate required build environment
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
      -DANDROID_ARM_NEON=TRUE \
      -DANDROID_NATIVE_API_LEVEL="android-21"
cmake --build .

但是,如果我在 CMakeLists.txt 中设置此参数,如下所示:

set(ANDROID_NATIVE_API_LEVEL "android-21")

那就是配置不正确。

那么,在 CMake 工具链中设置 ANDROID 变量的推荐和正确方法是什么?

【问题讨论】:

    标签: android-ndk cmake


    【解决方案1】:

    对于为什么在 CMakeLists.txt 中配置它本身不起作用,我最好的猜测是工具链文件有点奇怪; cmake 确实不希望工具链文件是可配置的,但对于 Android,它们是可配置的。

    那么,在 CMake 工具链中设置 ANDROID 变量的推荐和正确方法是什么?

    正如你所做的那样,从命令行。如果使用 Studio,这些将在 gradle 文件中指定,而不是在 cmake 中。

    我使用的 CMake 工具链文件来自 Android/sdk/ndk-bundle/build/cmake 而不是 Android/sdk/cmake。以后不更新和推荐(?)。

    正确。与 NDK 捆绑的那个就是要使用的那个。

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 2020-06-08
      • 1970-01-01
      • 2019-04-23
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2011-05-18
      相关资源
      最近更新 更多