Android NDK - CMake构建环境变量

时间:2017-01-31 17:34:20

标签: android-ndk cmake

我正在使用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变量的建议和正确方法是什么?

1 个答案:

答案 0 :(得分:1)

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

  

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

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

  

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

正确。与NDK捆绑在一起的是使用它的那个。