Android ndk-build命令返回'目标模式不包含'%'

时间:2014-03-27 08:12:47

标签: android c++ android-ndk java-native-interface adt

我见过这样的其他问题,但它们似乎并没有解决我的问题。我是第一次尝试在Windows上构建一个C ++ / Android项目,并且有一些问题:

1)Android NDK文档说cygwin是必需的,互联网上的一些人说它不是。我试过了两个。但是我在使用cmd.exe和cygwin窗口上的ndk-build构建项目时遇到了很多错误。在cygwin上它说

 *** target pattern contains no '%'.  Stop.

我搜索了make文件中可能有一些windows样式路径。有人说使用:$(shell cygpath -u $(path))而不是$(path) ......这没有帮助。

2)因为这是一个很大的项目,所以我想检查哪些是它采用Windows风格路径的地方。但即使是用于回显其值的简单的@echo命令也无效。

@echo $(path)

互联网上的一些人说我们可以使用这种风格:

.PHONY: print_vals
print_vals:
<tab>@echo $(path)

但这也不起作用。 Windows上的Android NDK开发很困难:(。

1 个答案:

答案 0 :(得分:1)

首先,Cygwin不需要在Windows上运行ndk-build,只需运行ndk-gdb,并且还有一个python版本(ndk-gdb.py),无论如何都不需要Cygwin。

其次,Android.mk文件中必定有一些奇怪的东西。如果你不知道GNU Make是如何工作的,你应该自己限制NDK文档描述的功能(例如$ NDK / docs / ANDROID-MK.html和$ NDK / docs / HOWTO.html)

很难确切地说出为什么会看到此消息,但这很可能是因为您在直接目标定义中使用绝对Windows文件路径。

最后,您不能使用echo来调试Makefile,而是使用$(info path=$(path))