Android NDK一直在寻找“g/David/…”

Android NDK一直在寻找“g/David/…”,android,cygwin,makefile,android-ndk,Android,Cygwin,Makefile,Android Ndk,我在Windows上安装了最新版本的Android NDK r4,另外还安装了新的cygwin,包括所需的软件包、最新的Android SDK、Eclipse+Android插件 每当我尝试从cygwin构建任何JNI代码时,无论是NDK的示例还是a,我都会得到: $ make APP=demo Android NDK: Building for application 'demo' Compile thumb : demo_lib <= apps/demo/project/jni/de

我在Windows上安装了最新版本的Android NDK r4,另外还安装了新的cygwin,包括所需的软件包、最新的Android SDK、Eclipse+Android插件

每当我尝试从cygwin构建任何JNI代码时,无论是NDK的示例还是a,我都会得到:

$ 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

我更改了这两个文件以指向正确的路径,但得到的错误与原始路径完全相同


我在cygwin、unix或make方面的经验有限。有什么想法吗?

这可能是NDK安装不完整/损坏的症状

gcc二进制文件总是在其可执行文件中硬编码原始sysroot目录,但如果提供了适当的系统头和库,则通常找不到这些文件。他们应该这样做

你能试着从官方网站上重新下载并解压缩NDK包,看看这是否能解决问题吗?

我也遇到了同样的问题。
这是因为也许你有一个G:drive的DVD光驱或是我的HDD G:was的DVD光驱。当我取消激活G:drive时,问题已解决。…

在Windows XP中,我有一个不活动的G:drive,还有一些分配给它的USB驱动器。这阻止了一些使用NDKR4的构建,我不明白为什么有时会弹出错误

无论如何,这里有一个解决方法:

准备备用cygdrive路径:mkdir c:\cygwin\ccc

使用cygwin的mount-ccc更改cygdrive路径前缀

创建缺少的目录:

mkdir-f/cygdrive/g/David/ndk/build/platforms/android-3/arch-arm/usr/local/include

mkdir-p/cygdrive/g/David/ndk/build/platforms/android-3/arch-arm/usr/include


现在,您可以运行android-ndk-r4\ndk build

谢谢。我试着从官方网页上重新下载,和以前一样,我仍然得到同样的结果。我尝试在linux虚拟机上安装linux版本,它似乎可以工作。然而,这将导致非常麻烦的构建过程。
<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"