Я получаю "Android NDK: хост" awk "устарел. Пожалуйста, определите HOST_AWK, чтобы указать на Gawk или Nawk!" ошибка в последней версии Android версии ndk 7.
Версия Android NDK 7 Узел "awk" устаревшая ошибка
Ответ 1
Решил проблему.
Решение:
- Перейдите к.. /android -ndk-r7/prebuilt/linux-x86/bin
- Переименуйте файл awk в awk _
Имортная вещь, которую нужно отметить на машине Windows:
ndk revision 7 onwards, источник ndk может быть построен без cygwin, то есть.., вместо вызова команды ndk-build из оболочки Cygwin, вы должны вызвать run ndk-build.cmd внутри командного окна MSDOS.
Это работает, потому что, вероятно, ndk-build сначала пытается использовать локально определенную, но старую (по крайней мере для Linux) версию awk. Переименовывая его, мы делаем его недоступным по такой команде, поэтому, по-видимому, ndk-build вызывает общесистемный awk.
Ответ 2
Это решение (от Santhosh) работает также под окнами:
- Перейдите к.. /android -ndk-r7/prebuilt/windows/bin Переименуйте файл
- переименуйте awk.exe в awk_.exe
Ответ 3
Я думаю, что проблема $(HOST_AWK)
не определена правильно, а локальная предварительная компоновка awk.exe
не работает. Таким образом, prebuild awk.exe
следует удалить или переименовать и использовать gawk
, если awk
не определено.
Чтобы решить эту проблему:
1 - Переименуйте <drive>\android-ndk\prebuilt\windows\bin\awk.exe
в <drive>\android-ndk\prebuilt\windows\bin\awk_.exe
.
2 - Открыть <drive>\android-ndk\build\core\init.mk
Заменить
HOST_AWK := $(strip $(HOST_AWK))
ifndef HOST_AWK
HOST_AWK := awk
endif
с
HOST_AWK := $(strip $(HOST_AWK))
ifndef HOST_AWK
HOST_AWK := gawk
endif
Обратите внимание, что awk
переименовано в gawk
.
Ответ 4
Взгляните на эту японскую почту: http://d.hatena.ne.jp/yohpapa/20111113/1321198570
Они объясняют, как решить вашу проблему. Является на японском, но команды разборчивы =)
Надеюсь, что это поможет...
Ответ 5
У меня возникла проблема с различными версиями awk на окнах. Это изменение использует версию awk cygwin с консоли cygwin и готовой версии из консоли dos.
Добавить в init.mk:
ifeq ($(HOST_OS),cygwin)
HOST_AWK := /bin/awk
endif