【发布时间】:2011-05-10 18:00:49
【问题描述】:
我正在按照http://developer.android.com/sdk/ndk/overview.html 上的步骤构建 hello-jni 示例,但是当我进入第 2 步运行时
cd $NDK-ROOT/samples/hello-jni
$NDK-ROOT/ndk-build
在 Cygwin 命令提示符中,我收到以下错误消息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
Android NDK: Host awk tool is outdated. Please define HOST_AWK to point to Gawk
or Nawk !
我的 Windows 机器上有 Cygwin 1.7.9、Gnu Make 3.8.2 和 Gawk 3.1.8,以及 Android NDK 的 r5b 版本。 我还设置了 HOST_AWK 环境变量,它指向我的 Gawk 文件夹。
不幸的是,如果没有这一步,示例将无法成功运行,(如果我运行 hello-jni,我会立即收到 UnsatisfiedLinkError 异常)。
下面是我机器上的 init.mk 文件的一部分(在 NDK_ROOT/build/core 中),它会产生这个错误:
# Location of all awk scripts we use
BUILD_AWK := $(NDK_ROOT)/build/awk
AWK_TEST := $(shell $(HOST_AWK) -f $(BUILD_AWK)/check-awk.awk)
$(call ndk_log,Host awk test returned: $(AWK_TEST))
ifneq ($(AWK_TEST),Pass)
$(call __ndk_info,Host awk tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !)
$(call __ndk_error,Aborting.)
endif
感谢您的帮助
【问题讨论】:
-
尝试更新您的 awk 工具。似乎是一个过时的版本(也许)。
-
Cygwin 上的相同问题 - Awk 4.0.0
-
这种情况下的问题似乎是 $(NDK_ROOT) 给出了一个空结果,因为我的根存储在 $NDK_ROOT 中(没有括号)。
标签: android android-ndk