找不到头文件 - Android NDK [英] Unable to find header files - Android NDK
问题描述
我正在通过 NDK 将原生 API 包装到 Android.
i'm wrapping a native API to Android by NDK.
但是在构建时找不到头文件.
But when building it don't find the header files.
我有以下结构.
项目/jni
Android.mk
LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
LOCAL_PATH :=/home/marcos/dev/workspace/rmsdk.native.wraper/jni
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ndk1
LOCAL_SRC_FILES := native.c DelegateDRMProcessorClient.cpp
LOCAL_STATIC_LIBRARY := adept cryptopenssl dp expat fonts hobbes jpeg mschema png t3 xml zlib
include $(BUILD_SHARED_LIBRARY)
项目/jni/prereqs/
project/jni/prereqs/
Android.mk(用于调用所有子目录的Android.mk文件)
Android.mk (Used to call all subdirs Android.mk files)
LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
项目/jni/prereqs/%lib%/
project/jni/prereqs/%lib%/
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=dp
LOCAL_SRC_FILES :=libdp.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
每个 %lib% 文件夹上都有一个包含文件夹.
And there's a include folder on each %lib% folder.
使用 ndk-build 时,我得到一个/home/marcos/dev/workspace/rmsdk.native.wraper/jni/DelegateDRMProcessorClient.h:18:20:错误:dp_all.h:没有这样的文件或目录"
When using ndk-build I get a "/home/marcos/dev/workspace/rmsdk.native.wraper/jni/DelegateDRMProcessorClient.h:18:20: error: dp_all.h: No such file or directory"
任何人都知道如何包含这些头文件以供编译器使用?
Anyone knows how to include these header to be available to the compiler?
推荐答案
我解决了,获取一个文件夹中的所有标题,并在Android.mk中包含以下行
I solve it, getting all the headers in a folder and including the following line in the Android.mk
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all
这可行,但看起来不是最好的方法.
This works, but not looks like the best approach.
这篇关于找不到头文件 - Android NDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!