android – LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间的区别

android – LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间的区别,第1张

概述有人请解释一下 android mk文件中LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间区别. 如果模块将路径添加到LOCAL_EXPORT_C_INCLUDES,则这些路径将添加到另一个模块的LOCAL_C_INCLUDES定义中,该模块使用LOCAL_STATIC_LIBRARIES或LOCAL_SHARED_LIBRARIES. 考虑我们有2个模块,例 有人请解释一下 android mk文件中LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间的区别.解决方法 如果模块将路径添加到LOCAL_EXPORT_C_INCLUDES,则这些路径将添加到另一个模块的LOCAL_C_INCLUDES定义中,该模块使用LOCAL_STATIC_liBRARIES或LOCAL_SHARED_liBRARIES.

考虑我们有2个模块,例如foo和bar以及是树结构.

.|-- AndroID.mk|-- bar|   |-- bar.c|   |-- bar.h|-- foo    |-- foo.c    `-- foo.h

bar使用foo作为静态库.由于bar.c需要包含foo.h,因此foo模块必须添加LOCAL_EXPORT_C_INCLUDES的包含路径.如果任何模块都没有使用bar,那么它可以添加到LOCAL_C_INCLUDES的包含路径.

AndroID.mk将如下所示:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODulE := fooLOCAL_SRC_fileS := foo/foo.cLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/fooinclude $(BUILD_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := barLOCAL_SRC_fileS := bar/bar.cLOCAL_C_INCLUDES := $(LOCAL_PATH)/barLOCAL_STATIC_liBRARIES := fooinclude $(BUILD_SHARED_liBRARY)

请看一下androID-ndk示例目录中提供的示例:androID-ndk-r9d / samples / module-exports

总结

以上是内存溢出为你收集整理的android – LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间的区别全部内容,希望文章能够帮你解决android – LOCAL_EXPORT_C_INCLUDES和LOCAL_C_INCLUDES之间的区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1130756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存