【问题标题】:How to force CMake to use response files in an Android NDK project?如何强制 CMake 在 Android NDK 项目中使用响应文件?
【发布时间】:2018-12-12 15:41:11
【问题描述】:

我有一个带有 NDK 组件的 Android 项目,配置为使用 CMake 构建。根据项目目录在驱动器上的位置,我可能会收到“命令行太长”。 CMake 尝试构建此项目时出错。这是因为 CMake 组装了巨大的命令行,列出了项目中的所有 .cpp 文件。

我读到 CMake 有一种称为“响应文件”的机制来解决这个问题,但我找不到在 NDK 项目中启用它们的方法。请给点建议好吗?

【问题讨论】:

标签: android cmake android-ndk


【解决方案1】:

can specify response fileCMakeLists.txtbuild.gradle 中添加

android { defaultConfig { ...
  externalNativeBuild {
      cmake {
          arguments 
              "-DCMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS=1",
              "-DCMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS=1" ,
              "-DCMAKE_C_RESPONSE_FILE_LINK_FLAG=@",
              "-DCMAKE_CXX_RESPONSE_FILE_LINK_FLAG=@",
              "-DCMAKE_NINJA_FORCE_RESPONSE_FILE=1"
      }
  }
}}

【讨论】:

    猜你喜欢
    • 2013-10-13
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2021-08-09
    • 2021-02-06
    • 2014-08-14
    • 1970-01-01
    相关资源
    最近更新 更多