Я установил последнюю версию Android NDK (r4) в Windows, а также свежую установку cygwin с необходимыми пакетами, последние версии Android SDK, Eclipse + плагины для Android.
Всякий раз, когда я пытаюсь построить какой-либо код JNI из cygwin (будь то образцы из NDK или пользовательский проект ), я получаю:
$ make APP=demo
Android NDK: Building for application 'demo'
Compile thumb : demo_lib <= apps/demo/project/jni/demo.c
cc1: error: /cygdrive/g/David/ndk/build/platforms/android-3/arch-arm/usr/local/i
nclude: not a directory
cc1: error: /cygdrive/g/David/ndk/build/platforms/android-3/arch-arm/usr/include
: not a directory
make: *** [out/apps/demo/armeabi/objs/dmeo_lib/demo.o] Error 1
Меня зовут не Дэвид, и у меня нет диска G.
Похоже, этот путь как-то жестко запрограммирован в этом выпуске. Я попытался найти строку g/David
в каталоге NDK. Он появляется во многих двоичных файлах, некоторых .info
файлах, как комментарий в некоторых заголовках и в двух mkheaders.conf
файлах:
<NDK>\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1\install-tools\mkheaders.conf:
SYSTEM_HEADER_DIR="/cygdrive/g/David/ndk/build/platforms/android-3/arch-arm/usr/include"
и
<NDK>\build\prebuilt\windows\arm-eabi-4.4.0\lib\gcc\arm-eabi\4.4.0\install-tools\mkheaders.conf:
SYSTEM_HEADER_DIR="/cygdrive/g/David/ndk/build/platforms/android-3/arch-arm${sysroot_headers_suffix}/usr/include"
Я изменил оба файла, чтобы они указывали на правильный путь, но я получаю точно такую же ошибку (с исходным путем).
У меня ограниченный опыт работы с cygwin, unix или make. Есть идеи?