我正在使用Android应用程序,需要根据正在编译的构建版本从目录中选择一个头文件。
根文件夹中存在Android.mk
和source.c
。在同一级别存在2个文件夹,每个文件夹具有相同的命名头文件 BUT 不同的内容:
./的folder1 / headerx.h
./文件夹2 / headerx.h
Android.mk
定义了LOCAL_C_INCLUDES
变量中要查找的文件夹,此定义正常。此处$(SUB_FOLDER)
是一个等同于folder1
或folder1
的系统变量:
LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SUB_FOLDER)
source.c包含头文件:
#include "headerx.h"
我希望source.c
正确包含headerx.h
,因为相关的文件夹位置已被选中并包含在LOCAL_C_INCLUDES
中,但当然面对
fatal error: 'headerx.h' file not found
我做错了什么?使用#include "folder1/headerx.h"
有效,但重点是避免这样做,因为source.c
不知道要使用哪个文件夹。 Android.mk
知道所以我必须在那里进行选择。
我对Android NDK相当新,所以非常感谢任何帮助。