我是 Android 的新手,在使用 ndk-build 命令时遇到问题。 我在 Windows 7 64 位下使用 NDK r9d。
当我运行我的构建系统创建我的 Android 项目(makefiles 等...),然后创建一个运行 ndk-build.cmd 的进程(我检查它是在 Android 项目中调用)我得到错误:
make.exe: *** create_child_process: DuplicateHandle(In) 失败 (e=6)
但是,当我在由我的构建系统(或任何 Android 项目)创建的同一个 Android 项目的 Windows 命令控制台中“手动”运行 ndk-build.cmd 时,一切正常。
我确实找到了一些相关问题,如下所示:
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/