我刚刚在我的'android.mk'项目文件中添加了一些新语句来编译新的源代码文件,我在编译所有* .cpp文件后遇到错误:
arm-linux-androideabi-g++.exe: CreateProcess: No such file or directory
make: *** [/cygdrive/...] Error 1
其他人是否有过类似的错误?我无法弄清楚为什么会发生这种情况,我没有修改路径,只是添加了源代码文件。
提前致谢。
答案 0 :(得分:9)
可能是cygwin的命令行太长了(见这里:How to build OpenSSL on Android/Linux ?)
尝试将所有内容移动到路径较短的位置。我刚刚将几个文件添加到android.mk文件后出现错误,并暂时将android项目移动到某个地方,比如/ cygdrive / c / projects允许它构建。我刚刚在那里建了它然后把所有东西都搬回来了。
答案 1 :(得分:3)
传递给CreateProcess()的命令行字符串的最大长度为32,768个字符。长度包括所有参数 顺便提一下,Android NDK构建系统可能会生成一个超过32,768个字符的命令行,因为源文件的完整路径太长而源文件的数量太大而且目标文件路径因此太长而且很多。链接时,所有完整路径都会添加到命令行 我通过将项目文件夹放在Windows文件系统的根目录并将其重命名为一个字母(如“C:\ E”)来解决此问题,以便所有路径都比以前更短。
答案 2 :(得分:1)
此问题可能是由构建PC上的内存不足造成的 我最近在虚拟Windows XP SP3 32位上遇到了同样的问题 - 在链接阶段,系统试图消耗高达2.6 GB的内存,而限制设置为2.2 GB,并且没有足够的可用空间在磁盘上分配所需的交换文件......
答案 3 :(得分:-2)
我遇到了和你一样的错误。使用新系统(VM上的Windows等),再试一次。 它可能是由其他软件冲突引起的,可能是您的操作系统上有太多工具。