【发布时间】:2010-05-25 14:46:53
【问题描述】:
我在 Windows 上安装了最新版本的 Android NDK (r4),以及全新安装的 cygwin,其中包含所需的软件包、最新的 Android SDK、Eclipse + Android 插件。
每当我尝试从 cygwin 构建任何 JNI 代码(无论是来自 NDK 的样本,还是 custom project),我都会得到:
$ 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 盘。
似乎这条路径以某种方式硬编码到此版本中。我尝试在 NDK 目录中查找字符串 g/David。它出现在许多二进制文件中,一些 .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 方面的经验有限。有什么想法吗?
【问题讨论】:
标签: android cygwin makefile android-ndk