【问题标题】:How to include parent directory include path in Android.mk?如何在 Android.mk 中包含父目录包含路径?
【发布时间】:2015-03-31 19:27:35
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: c android-ndk porting include-path android.mk


    【解决方案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),并在另一个Android.mk 文件中使用$(MODULE_PATH) 而不是$(LOCAL_PATH)/..

    【讨论】:

      【解决方案2】:

      你可以使用“通配符”,例如:

      PARENT_DIR_PATH := $(wildcard ..)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-07
        • 2012-11-02
        • 1970-01-01
        • 2019-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多