找不到头文件 - Android NDK [英] Unable to find header files - Android NDK

查看:29
本文介绍了找不到头文件 - 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆