Ndk-build: CreateProcess: make (e=87): The parameter is incorrect

狂风中的少年 提交于 2019-11-28 04:23:09

Maybe the LOCAL_SHORT_COMMANDS flag, to be set in your Android.mk, could help you. It is designed to overcome the limitations on the number of characters a Windows command can handle.

According to $(NDK folder)/docs/ANDROID-MK.html:

LOCAL_SHORT_COMMANDS

Set this variable to 'true' when your module has a very high number of sources and/or dependent static or shared libraries. This forces the build system to use an intermediate list file, and use it with the library archiver or static linker with the @$(listfile) syntax.

This can be useful on Windows, where the command-line only accepts a maximum of 8191 characters, which can be too small for complex projects.

This also impacts the compilation of individual source files, placing nearly all compiler flags inside list files too.

Note that any other value than 'true' will revert to the default behaviour. You can also define APP_SHORT_COMMANDS in your Application.mk to force this behaviour for all modules in your project.

NOTE: We do not recommend enabling this feature by default, since it makes the build slower.

Hope this helps!


Special Thanks to @mbrenon !

Remember to set both of LOCAL_SHORT_COMMANDS(Android.mk) & APP_SHORT_COMMANDS(Application.mk) as the following.

LOCAL_SHORT_COMMANDS := true
APP_SHORT_COMMANDS := true

Hope this helps ! :)

I was facing same problem and it got resolved when I made below changes

  1. Right click Application -> properties
  2. C/C++ Build
  3. Changed Build directory: ${workspace_loc:/App}/Default to ${workspace_loc:/App}/
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!