2016-12-30 29 views
4

我正在从ndk-build迁移到CMake(它更好地与Android Studio集成,并且使我们能够为所有平台提供单个CMakeLists.txt)。Android:在CMake中缺少功能vs ndk-build

不幸的是,我们的项目使用了一些我无法用CMake复制的Android.mk功能。更具体地讲:

  • TARGET_ARCH:我们用这包括不同的预编译的二进制文件。我如何用CMake找到目标拱?

  • LOCAL_ARM_MODE:这甚至可以在CMake中使用吗?

回答

3

编辑:

当使用摇篮,CMAKE_ANDROID_ARCH_ABI未设置!使用CMAKE_ANDROID_ARCH或ANDROID_ABI。

ORIGINAL:

后多一点谷歌的,我已经找到了答案在这里:https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk

  • CMAKE_ANDROID_ARCH_ABI或CMAKE_ANDROID_ARCH类似于NDK建造TARGET_ARCH。
  • CMAKE_ANDROID_ARM_MODE允许设置ARM模式(将其设置为ON目标32位ARM处理器,而将目标设置为OFF目标16位Thumb处理器)。
+0

'CMAKE_ANDROID_ARM_MODE'是一个CMake 3.7(或更高版本)功能。 Android Studio(2.3.3)使用CMake 3.6。改为将'-DANDROID_ARM_MODE = arm'添加到'android.defaultConfig.externalNativeBuild.cmake.arguments'。 – micha