这失败了:
JNIPATH := $(call my-dir)
LOCAL_PATH := $(JNIPATH)
include $(JNIPATH)/otherfile.mk
D:\dev\/src/android/jni/Android.mk:62:
D:\dev\/src/android/jni: Permission denied
D:\dev\/src/android/jni/Android.mk:62: /otherfile.mk: No such file or directory
但是,如果我将$(JNIPATH)
替换为otherfile.mk
的完整相对路径(从构建脚本中使用$(warning $(JNIPATH))
收集),则可以正常工作。
只有可能的结论:包含变量就是问题。
在NDK r10d和r8e上测试。使用Windows 8.1主机。不使用Cygwin命令提示符。
答案 0 :(得分:1)
这种情况正在发生,因为第一行末尾有一个不可见的标签。
include宏接受多个参数,并将D:\dev\/src/android/jni
视为要包含的第一个文件。由于这是一个目录,并且错误诊断非常粗略,因此在拒绝权限的情况下拒绝了它。
灵魂破碎的方式会失去一个小时,你不同意吗?