我正在开发一个在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似乎都在我的路径中。
任何帮助都会非常感激! 谢谢你
答案 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中的任何其他空格/制表符或行尾不一致之处。
您无需进行任何更改即可使它蔓延。在某些情况下,仅在错误的文本编辑器中打开文件即可更改文件。在其他情况下,简单的外观复制和粘贴也会增加不必要的格式调整。