我正在使用NDK构建,但在包含路径中获取父目录时遇到问题。我试过这个:
LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
但这不起作用,显然..
没有像我期望的那样处理。我跑了make -n
来查看包含我想要的生成的命令:
-I/Users/me/android/workspace/jni/module/popt/..
但它失败了,虽然如果我手动编辑它而不是:
-I/Users/me/android/workspace/jni/module
工作正常。如果不使用Android.mk
,我应该在..
文件中将父目录包含在搜索路径中?
问题是popt
是符号链接,因此父目录..
不是module
。
答案 0 :(得分:1)
没有什么会扩展..
并实际修改路径的早期部分 - 如果您指定..
的相对路径,这在任何构建系统中几乎都是相同的。
为什么-I/Users/me/android/workspace/jni/module/popt/..
没有给出与-I/Users/me/android/workspace/jni/module
相同的结果? popt
是不同地方的符号链接吗?在这种情况下,我认为解决方案是在jni/module/Android.mk
中定义一个单独的变量,如MODULE_PATH := $(LOCAL_PATH)
,并在另一个$(MODULE_PATH)
文件中使用$(LOCAL_PATH)/..
而不是Android.mk
答案 1 :(得分:0)
您可以使用"通配符",例如:
PARENT_DIR_PATH := $(wildcard ..)