我正在使用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变量的建议和正确方法是什么?
答案 0 :(得分:1)
我最好猜测为什么在CMakeLists.txt中配置它本身并不起作用的是工具链文件有点奇怪; cmake真的不希望工具链文件是可配置的,但对于Android来说,它们是。
那么,在CMake工具链中设置ANDROID变量的建议和正确方法是什么?
正如您所做的那样,从命令行开始。如果使用Studio,这些将在gradle文件中指定,而不是在cmake中指定。
我使用的CMake工具链文件来自Android / sdk / ndk-bundle / build / cmake而不是Android / sdk / cmake。后面没有更新和推荐(?)。
正确。与NDK捆绑在一起的是使用它的那个。