我正在为 android 构建一个动态库 (.so) 文件,其中包含大约 100 个本地 c 文件。这些文件都包含一个文件c_macros.h
,但c_macros.h
不同文件组的问题会发生变化。例如,foo0.c
andbar0.c
需要包含c_macros.h
在目录中0/
,而foo1.c
andbar1.c
需要包含c_macros.h
在目录中1/
。
我看到可以LOCAL_C_INCLUDES
为整个编译定义,以便所有 .o 文件都将使用这些本地包含。但是,可以LOCAL_C_INCLUDES
为单个文件(或一组文件)指定然后更改以便可以为正确的文件包含正确的目录吗?
一种解决方案是根据c_macros.h
正在使用的文件构建不同的 .so 文件,但这会为每个 .so 文件增加大约 10KB 的开销,所以如果可能的话,我想将所有内容压缩到一个大的 .so 文件中,但随后我需要解决这个LOCAL_C_INCLUDES
问题。