【问题标题】:Android ndk-build error make.exe: *** create_child_process: DuplicateHandle(In) failed (e=6)Android ndk-build 错误 make.exe: *** create_child_process: DuplicateHandle(In) failed (e=6)
【发布时间】:2014-05-26 15:16:05
【问题描述】:

我对 Android 比较陌生,使用 ndk-build 命令时遇到问题。 我在 Windows 7 64bits 下使用 NDK r9d。

当我运行创建我的 Android 项目(makefile 等)的构建系统,然后创建一个运行 ndk-build.cmd 的进程(我检查它是否在 Android 项目中调用)时,我收到错误:

ma​​ke.exe: *** create_child_process: DuplicateHandle(In) failed (e=6)

但是当我在由我的构建系统(或任何 Android 项目)创建的同一个 Android 项目中的 Windows 命令控制台中“手动”运行 ndk-build.cmd 时,一切正常。

我确实在这里找到了一些相关问题:

https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014825836

https://cygwin.com/ml/cygwin/2004-09/msg01506.html

但我发现要么是 make 版本的问题(我认为),因为当我“手动”使用 ndk-build 时它工作正常,或者它说它与标准输入处理有关,我再次不这样做不认为这里的问题。加上我发现的所有答案都与类似的错误有关,但并不完全相同:

process_easy:DuplicateHandle(In) 失败 (e=6)

也许有人知道我的错误信息的含义。我认为这不是 Android ndk-build 特有的,但也许是。

感谢您的阅读(对于任何英语错误,我深表歉意,我是法国人,英语不流利)

【问题讨论】:

    标签: android android-ndk makefile ndk-build


    【解决方案1】:

    最后,我在这里找到了解决问题的方法:

    http://www.zeusedit.com/zforum/viewtopic.php?t=174

    我不确定问题出在哪里,但根据此链接,它与 make 环境和句柄有关。

    解决方案:我没有直接使用 createProcess 函数(来自 Windows)来调用 ndk-build.cmd,而是创建了一个批处理文件,其中包含:

    启动 ndk-build.cmd

    我通过 createProcess 函数调用了这个批处理 (.bat)。

    我让您查看链接以了解更多详细信息。

    【讨论】:

      猜你喜欢
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 2019-05-24
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多