我有一个Android NDK项目。 Windows 7,Cygwin,NDK r6b。 Android.mk引用另一个目录中的另一个mk文件:
include ../../MyApp/jni/Src.mk
当我尝试在jni目录中运行ndk-gdb
时,这是我得到的错误:
$ ndk-gdb
/cygdrive/d/dev/wksp/MyProject/jni/Android.mk:8: ../../MyApp/jni/Src.mk: No such file or directory
/cygdrive/d/dev/wksp/MyProject/jni/Android.mk:8: ../../MyApp/jni/Src.mk: No such file or directory
make: *** No rule to make target `../../MyApp/jni/Src.mk'. Stop.
常规的Android版本运行良好。指定路径上的文件Src.mk显然存在。知道为什么make
找不到它?
答案 0 :(得分:2)
将绝对路径放入include
行会解决问题。所以关于相对路径。可以通过在环境变量中存储项目根目录的绝对路径并在包含行中引用它来解决此特定问题:
include $(PROJECTROOT)/MyApp/jni/Src.mk