【问题标题】:Android: missing features in CMake vs ndk-buildAndroid:CMake 与 ndk-build 中缺少的功能
【发布时间】:2017-05-14 16:47:38
【问题描述】:

我正在从 ndk-build 迁移到 CMake(它可以更好地与 Android Studio 集成,并使我们能够为所有平台提供一个 CMakeLists.txt)。

很遗憾,我们的项目使用了一些我无法通过 CMake 复制的 Android.mk 功能。更具体地说:

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

  • LOCAL_ARM_MODE:这在 CMake 中是否可用?

【问题讨论】:

    标签: android c++ android-ndk cmake


    【解决方案1】:

    编辑:

    使用 Gradle 时,CMAKE_ANDROID_ARCH_ABI 未设置!使用 CMAKE_ANDROID_ARCH 或 ANDROID_ABI。

    原文:

    在谷歌多一点之后,我在这里找到了答案: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-build TARGET_ARCH。
    • CMAKE_ANDROID_ARM_MODE 允许设置 ARM 模式(将其设置为 ON 目标 32 位 ARM 处理器,而关闭目标 16 位 Thumb 处理器)。

    【讨论】:

    • CMAKE_ANDROID_ARM_MODE 是 CMake 3.7(或更高版本)功能。 Android Studio (2.3.3) 使用 CMake 3.6。改为将-DANDROID_ARM_MODE=arm 添加到android.defaultConfig.externalNativeBuild.cmake.arguments
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2011-02-20
    相关资源
    最近更新 更多