我正在按照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
谢谢你的帮助
答案 0 :(得分:0)
尝试更新您的awk工具。似乎是一个过时的版本(也许)。还要确保将NDK根定义到NDK源的位置,并确保awk工具位于NDK源的构建目录中。
NDK_ROOT
尝试将此环境变量设置为NDK根目录的位置。每当定义时(通常在顶部)
答案 1 :(得分:0)
而不是HOST_AWK=gawk.exe
,只需执行HOST_AWK=gawk
答案 2 :(得分:0)
事实证明我的HOST_AWK路径中有一个撇号,导致了这个问题。
答案 3 :(得分:0)
参考 https://stackoverflow.com/q/8121153/411522
我的工作正常。要做的是:只需在ndk中重命名预建的awk