在win7 c盘上上安装了cygwin,并且也放了android的ndk,在cygwin的.bash_profile中做了如下设置:
ndk=/cygdrive/C/android/android-ndk-r9d
export ndk
-----------------------------------------------------------------------------------------------------------------------------------------
在另外一个目录写了一个测试的test.c,里面只有一句代码:
#include <utils/Log.h>
-----------------------------------------------------------------------------------------------------------------------------------------
写了一个makefile文件,部分内容如下:
NDK_BASE =/cygdrive/c/android/android-ndk-r9d
ANDROID_BASE=/cygdrive/c/android/android-src/x86/Intel_x86_sysimg_4.4_20131206
INC += -I$(NDK_BASE)/platforms/android-19/arch-arm/usr/include \
-I$(ANDROID_BASE)/system/core/include \
-I$(ANDROID_BASE)/frameworks/base/include
===============================================================================
在cygwin中cd到了makefile所在的目录,运行make,出现了如下错误:
/cygdrive/c/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc -march=armv7-a -mfpu=vfp -mfloat-abi=softfp -fpic -mthumb-interwork -O2 -DANDROID -c -I/cygdrive/c/android/android-ndk-r9d/platforms/android-19/arch-arm/usr/include -I/cygdrive/c/android/android-src/x86/Intel_x86_sysimg_4.4_20131206/system/core/include -I/cygdrive/c/android/android-src/x86/Intel_x86_sysimg_4.4_20131206/frameworks/base/include ../../src/test..c -o test..o
../../src/test..c:2:23: fatal error: utils/Log.h: No such file or directory
#include <utils/Log.h>
^
compilation terminated.
makefile:35: recipe for target 'test..o' failed
make: *** [test..o] Error 1
我如果把INC改成相对路径:
INC = -I../../../../android/android-ndk-r9d/platforms/android-9/arch-arm/usr/include \
-I../../../../android/android-src/x86/Intel_x86_sysimg_4.4_20131206/system/core/include/ \
-I../../../../android/android-src/x86/Intel_x86_sysimg_4.4_20131206/frameworks/base/include
编译就没有问题,请问诸位知道这是什么原因吗?
------解决思路----------------------
ANDROID_BASE=/cygdrive/c/android/android-src/x86/Intel_x86_sysimg_4.4_20131206
这个路径下面应该没有头文件 <utils/Log.h>
你要include 头文件应该在 NDK_BASE =/cygdrive/c/android/android-ndk-r9d 下面的platform相关的平台下