LOCAL_EXPORT_C_INCLUDES和LOCALC_INCLUDES 、LOCAL_EXPORT_CFLAGS和 LOCAL_CFLAGS ,差别是编译某模块是,如果它依赖别的模块,那么别的模块的LOCAL_EXPORT*类的值,会自动加入到本模块。(但是反过来不会有作用)
例如,定义了一个模块, 定义宏FOO
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo/foo.c
LOCAL_EXPORT_CFLAGS :=-DFOO=1
include $(BUILD_STATIC_LIBRARY)
另外一个模块bar使用foo模块
include $(CLEAR_VARS)
LOCAL_MODULE := bar
LOCAL_SRC_FILES := bar.c
LOCAL_CFLAGS :=-DBAR=2
LOCAL_STATIC_LIBRARIES := foo
include $(BUILD_SHARED_LIBRARY)
那么bar.c可以同时使用 FOO BAR这两个宏
本文介绍了Android NDK中LOCAL_EXPORT_CFLAGS与LOCAL_CFLAGS的区别,通过示例展示了如何在一个模块中定义宏,并在另一个模块中使用这些宏。这对于理解Android模块间的依赖关系非常重要。
7489





