【发布时间】:2011-10-06 09:24:53
【问题描述】:
我有 3 个预构建的静态库要在我的共享库中使用。
问题是当ndk-build 尝试链接到静态库时,我收到大量未定义的引用。
“未定义的引用”源于静态库尝试调用另一个静态库中的方法。例如,tinyNET 调用 tinySAK 中的方法。依赖项是这样的:
tinySAK 没有依赖项
tinyNET 依赖于 tinySAK,
tinyHTTP 依赖于 tinyNET 和 tinySAK
这是我的 Android.mk 的样子:
LOCAL_PATH := $(call my-dir)
# TINYSAK
include $(CLEAR_VARS)
LOCAL_MODULE := tinySAK
LOCAL_SRC_FILES := libtinySAK_armv7-a.a
include $(PREBUILT_STATIC_LIBRARY)
# TINYNET
include $(CLEAR_VARS)
LOCAL_MODULE := tinyNET
LOCAL_SRC_FILES := libtinyNET_armv7-a.a
include $(PREBUILT_STATIC_LIBRARY)
# TINYHTTP
include $(CLEAR_VARS)
LOCAL_MODULE := tinyHTTP
LOCAL_SRC_FILES := libtinyHTTP_armv7-a.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
LOCAL_SRC_FILES := \
/../../testclient.cpp \
/../../main.cpp \
/../../Webservice.cpp
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../includes/ \
$(LOCAL_PATH)/../../../doubango/tinyHTTP/include/ \
$(LOCAL_PATH)/../../../doubango/tinySAK/src/ \
$(LOCAL_PATH)/../../../doubango/tinyNET/src/
LOCAL_STATIC_LIBRARIES := tinySAK tinyNET tinyHTTP
include $(BUILD_SHARED_LIBRARY)
我应该怎么做才能解决这个问题?
【问题讨论】:
标签: android makefile android-ndk