Android ndk-build错误make.exe : *** create_child_process: DuplicateHandle(In) failed (e=6)

标签 android android-ndk makefile ndk-build

我是 Android 的新手,在使用 ndk-build 命令时遇到问题。 我在 Windows 7 64 位下使用 NDK r9d。

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

ma​​ke.exe: *** create_child_process: DuplicateHandle(In) 失败 (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 工作正常,或者它说它与 stdin 处理有关,我再次不'认为这里的问题。加上我发现的所有答案都与类似的错误有关,但不完全相同:

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

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

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

最佳答案

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

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

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

解决方案:我没有使用 createProcess 函数(从 Windows)直接调用 ndk-build.cmd,而是创建了一个包含以下内容的批处理文件:

启动ndk-build.cmd

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

我让您查看链接以获取更多详细信息。

关于Android ndk-build错误make.exe : *** create_child_process: DuplicateHandle(In) failed (e=6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873207/

相关文章:

java - 如何在另一个 Activity 中调用一个 Activity 的对象?

java - Arraylist 添加对象两次

生成文件别名

android - 如何为 GridView android 中的每一行和每一列使用相同的图像?

android - ScrollView中的最小高度fill_parent和高度wrap_content? (或者只是电子邮件应用程序编写布局的代码)

android - 如何在 Android.mk 中添加 C-only 选项?

android - ndk-bundle 和 android-ndk-r15c 的区别

android ad-hoc udp广播卡在发送(ndk)上

ios - ranlib 缺少在 iOS 上编译 GNU bash

makefile - 链接期间的 libtool 错误