2014-01-22 2 views
0

Я хочу создать ссылку на статическую библиотеку для статической библиотеки third_part. А затем предоставите статическую библиотеку, которую я построил для использования другими людьми. Но когда другие используют мою библиотеку, они обнаружили ошибку «неопределенная ссылка на« Func1() »,« Func1() »- это функция, определенная в статической библиотеке third_part. Кто-нибудь есть идея, как это исправить?Как создать ссылку на статическую библиотеку на статическую библиотеку third_part с помощью Android ndk

Here's my Android.mk: 

LOCAL_PATH:= $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE := ThirdLib_Rebuild 
LOCAL_SRC_FILES := libThird.a 
include $(PREBUILT_STATIC_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := MyLib 
LOCAL_STATIC_LIBRARIES := ThirdLib_Rebuild 
LOCAL_SRC_FILES := MyLib.c 
include $(BUILD_STATIC_LIBRARY) 

ответ

0

NDK-билд поддерживает зависимости переходной, то есть, если вы определили общую библиотеку или исполняемый файл, который зависит от модуля MyLib, то оба libMyLib.a и libThird.a будут связаны в него (если нет, то это ошибка, которую вы используете NDK точно?).

Однако вы не очень четко понимаете, что делаете, распространяя библиотеки на других людей. Для записи вам необходимо распространять библиотеки, так как libMyLib.a не включает код из libThird.a, использование LOCAL_STATIC_LIBRARIES в определении модуля MyLib служит только для записи зависимости между двумя библиотеками, в отличие от того, что происходит, когда вы используете его для общей библиотеки или исполняемого файла.

Смежные вопросы