我有一个具有NDK组件的Android项目,该组件配置为使用CMake构建。根据项目目录在驱动器上的位置,我可能会得到“命令行太长”的信息。 CMake尝试构建此项目时发生错误。这是因为CMake会汇编巨大的命令行,列出项目中的所有.cpp文件。
我读到CMake具有一种称为“响应文件”的机制来解决此问题,但是我找不到在NDK项目中启用它们的方法。请问一些建议吗?
答案 0 :(得分:2)
您can specify response file在 CMakeLists.txt 中,或在 build.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"
}
}
}}