【问题标题】:arm-linux-androideabi-g++.exe: CreateProcess: No such file or directory errorarm-linux-androideabi-g++.exe: CreateProcess: No such file or directory 错误
【发布时间】:2011-10-04 16:55:12
【问题描述】:

我刚刚在我的“android.mk”项目文件中添加了一些新语句来编译新的源代码文件,编译所有 *.cpp 文件后出现错误:

arm-linux-androideabi-g++.exe: CreateProcess: No such file or directory
make: *** [/cygdrive/...] Error 1

有没有人遇到过类似的错误?我不知道为什么会这样,我没有修改路径,只是添加了源代码文件。

提前致谢。

【问题讨论】:

    标签: android g++ cygwin


    【解决方案1】:

    可能是命令行对于 cygwin 来说太长了(见这里:How to build OpenSSL on Android/Linux ?

    尝试将所有东西移到路径较短的地方。在将几个文件添加到 android.mk 文件后,我刚刚遇到错误,并且暂时将 android 项目移动到 /cygdrive/c/projects 之类的地方允许它构建。我只是在那里建造的,然后把所有东西都搬回来了。

    【讨论】:

    • omg 无法相信我苦苦挣扎了这么久的问题是由于路径太长..谢谢!
    【解决方案2】:

    传递给 CreateProcess() 的命令行字符串的最大长度为 32,768 个字符。长度包括所有参数。
    顺便说一句,Android NDK 构建系统可能会生成超过 32,768 个字符的命令行,因为您的源文件的完整路径太长,源文件的数量太多,因此目标文件路径又长又多。链接时将所有完整路径添加到命令行。
    我通过将项目文件夹放在 Windows 文件系统的根目录并将其重命名为像“C:\E”这样的一个字母来解决这个问题,这样所有的路径都比以前更短了。

    【讨论】:

    • NDK 开发者的重要答案。
    【解决方案3】:

    此问题可能是由于构建 PC 上的内存不足造成的。
    我最近在虚拟 Windows XP SP3 32 位上遇到了同样的问题 - 在链接阶段,系统尝试消耗高达 2.6 GB 的内存,而限制设置为 2.2 GB,并且没有足够的可用空间在磁盘上分配所需的交换文件...

    【讨论】:

    • 谢谢。刚好遇到这个问题,关闭了几个后台应用就可以编译了。
    【解决方案4】:

    我和你有同样的错误。使用新系统(VM 上的 Windows 等),再试一次。 可能是其他软件冲突,也可能是你的操作系统工具太多。

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 2022-01-13
      • 2016-11-01
      • 2016-01-05
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      相关资源
      最近更新 更多