集成静态库获取错误“没有规则来制作目标:import_includes所需的export_includes”

时间:2016-02-05 16:35:06

标签: android embedded-linux

在将静态库与Android平台上的现有共享库(Lollypop)集成时,我遇到了问题

我正在尝试在Android L中添加一个静态库(.a),它将链接到共享模块(.so)。 该模块已经存在(即已经构建),我打算将静态库链接到该模块。

代码结构如下:: -

-ABC
--xxx
--yyy
--zzz [newly added folder]
---Android.mk [newly added]
---foo.c [wrapper file for the library along with header files]
---newlib.a [the actual static lib being discussed]
--Android.mk [This is already present and builds a library which incorporates xxx and yyy say the name of this be oldlib.so]

现在我添加了zzz文件夹,其中包含一个静态库(newlib.a)和包装器C文件(foo.c).zzz还包含一个Android.mk来构建自己。

请检查Android.mk

的语法
Newly Added Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := newlib
LOCAL_EXPORT_LDLIBS := -lnewlib
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := foo.c
LOCAL_SRC_FILES += newlib.a
include $(PREBUILT_STATIC_LIBRARY)

已存在的Android.mk的语法[我突出显示我为新添加的代码所做的更改]

NEW_LOCAL_PATH := $(call my-dir)

include $(NEW_LOCAL_PATH)/zzz/Android.mk
LOCAL_PATH := $(NEW_LOCAL_PATH)

LOCAL_LDFLAGS := $(LOCAL_PATH)/zzz/newlib.a
LOCAL_WHOLE_STATIC_LIBRARIES := newlib

我的上述配置导致生成错误,并显示以下错误消息: - make:

*** No rule to make target 'out/target/product/alpha/obj/STATIC_LIBRARIES/newlib_intermediates/export_include ',needed
by 'out/target/product/alpha/obj/SHARED_LIBRARIES/oldlib_intermediates/import_include'. stop

有人能说出同样可能的原因吗? 如果需要更多细节,请随时询问。 感谢。

0 个答案:

没有答案