ndk-build因process_begin失败:CreateProcess(NULL,uname -a,...)失败

时间:2015-02-02 17:08:00

标签: android windows android-studio android-ndk

我正在开发一个在Windows 8上使用Android Studio的Android应用程序,我正在使用一些本机代码。 突然之间,我无法编译我的C文件。 当我运行ndk-build时,我收到以下错误:

process_begin: CreateProcess(NULL, uname -a, ...) failed.
process_begin: CreateProcess(NULL, uname -r, ...) failed.
The system cannot find the path specified.
'mount' is not recognized as an internal or external command,
operable program or batch file.

我非常沮丧,因为我还没有真正搞乱任何事情,而且android-sdk和android-ndk似乎都在我的路径中。

任何帮助都会非常感激! 谢谢你

3 个答案:

答案 0 :(得分:2)

我认为您明确针对 NDK 构建链的错误架构

我想在你的错误日志中你可以看到这样的东西:

Android NDK: Unable to determine HOST_OS from uname -s: 
Android NDK: Please define HOST_OS in your environment.
...
process_begin: CreateProcess(NULL, uname -s, ...) failed.

在Windows下,您可以尝试使用命令ndk-build.cmd而不是ndk-build,如建议here

答案 1 :(得分:0)

如果您将OpenCV.mk更改为目标平台,例如Android.mk文件中的OpenCV-x86.mk,那么它将起作用。

答案 2 :(得分:0)

当我遇到这个问题时,原因是行继续('\')和换行符之间的空格潜入了我的makefile中。对于Android Studio来说,这显然是完全不可接受的。

请查看编辑器可能已“有帮助”(但不可见)添加到makefile中的任何其他空格/制表符或行尾不一致之处。

您无需进行任何更改即可使它蔓延。在某些情况下,仅在错误的文本编辑器中打开文件即可更改文件。在其他情况下,简单的外观复制和粘贴也会增加不必要的格式调整。