我在Windows平台上使用NDK构建静态库时遇到了错误:
process_begin: CreateProcess( "PATH"\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ar.exe, "some other commands" ) failed.
make (e=87): The parameter is incorrect.
make: *** [obj/local/armeabi-v7a/staticlib.a] Error 87
make: *** Waiting for unfinished jobs....
所有源文件都已成功构建,但在组合对象文件时出现了此错误。
在Ubuntu中构建此项目时,我没有遇到此错误,这个错误只出现在Windows上。
我认为我找到了 问题:Win API 函数 CreateProcess 的第二个参数lpCommandLine 具有最大长度为 32,768 个字符。但在我的情况下,它超过了32,768个字符。
我该如何解决这个问题?
您还可以在Application.mk中定义APP_SHORT_COMMANDS,以强制所有项目模块执行此行为。
- mortalisLOCAL_SHORT_COMMANDS
变量应该放在include $(CLEAR_VARS)
行之后。 - mortalis