【发布时间】:2012-02-17 14:13:40
【问题描述】:
这开始是一个 Android 问题,但我认为是一个 linux/cygwin 问题。
Android ndk 附带了不合适的 awk 版本 - definitive report here - 所以我试图让 cygwin 接受我不想使用 ndk awk,而是使用 nawk 或 gawk。
请记住,我对 linux/cygwin 一无所知,这些是我的发现:
问题的第一部分已经回答了here,所以我知道我需要将现有的 awk 重命名为 awk_,这样它就不会被拾取(完成)。而且我需要将 cygwin 环境变量 HOST_AWk 设置为 gawk (或 nawk - 两者都由 cygwin 提供)。 (对我而言)执行此操作的简单方法是在 Windows 中设置该环境变量 - 然后当 cygwin 运行时,它会从 Windows 导入所有环境内容。
所以我想我知道该怎么做,但是当我尝试直接在 eclipse 中(全部构建)或 bash 的 cygwin 中进行构建时,似乎没有获取 HOST_AWK 的值:
Barry@BARRY /cygdrive/c/data/eclipse/camfeeda/jni
$ ndk-build
make: awk: Command not found
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !
/cygdrive/c/DATA/eclipse/android/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. . Stop.
Barry@BARRY /cygdrive/c/data/eclipse/camfeeda/jni
$ printenv HOST_AWK
c:\cygwin\bin\gawk.exe
如您所见,我已在正确的位置将 HOST_AWK 设置为 gawk.exe,但我已经尝试过:
HOST_AWK=c:\cygwin\bin\gawk.exe
HOST_AWK=c:\cygwin\bin\gawk
HOST_AWK=c:\cygwin\bin\nawk.exe
HOST_AWK=c:\cygwin\bin\nawk
我已经尝试使用正斜杠以防出现问题,但我仍然遇到同样的错误:(
我感觉好像离我很近,但我无法迈出最后一步。为什么 ndk-build 不读取环境变量 HOST_AWK 并完成繁琐的工作?!谁能让我摆脱痛苦?
非常感谢
巴里
编辑:我也试过了:
HOST_AWK=/cygdrive/c/cygwin/bin/gawk.exe
等等,但没有快乐。
乙。
【问题讨论】:
-
为什么需要设置HOST_AWK?对我来说,它只是删除/重命名 ndk-r7 附带的 awk.exe。他们一切正常,无需设置 HOST_AWK env.variable。
-
天哪,它有效。谢谢 Mārtiņš(还有帮助离线的 Tom Johnson)。 Mārtiņš 将其作为官方答案,我会正式接受。
标签: android android-ndk cygwin