2016-12-30 64 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