2015-10-13 3 views
0

Я скомпилировал glib-библиотеку (создал файл libglib.so с local_module как libglib) в android ndk eclipse. Но я получаю could not be resolved errors для встроенных функций glib.Связывание сторонних библиотек в android ndk eclipse

Это мой android.mk файл:

LOCAL_PATH := $(call my-dir) 

    include $(CLEAR_VARS) 
    include $(call all-subdir-makefiles) 
    LOCAL_LDLIBS := -llog 
    LOCAL_MODULE := mycode 
    LOCAL_SRC_FILES := mycode.c 
    LOCAL_SHARED_LIBRARIES := libglib 
    LOCAL_C_INCLUDES += $(LOCAL_PATH)/../glib/ 
    LOCAL_C_INCLUDES += $(LOCAL_PATH)/../glib/glib/ 

    include $(BUILD_SHARED_LIBRARY) 

Что мне не хватает?

ответ

0

Я думаю, что ваш Android.mk должно быть так:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE := libglib 
LOCAL_SRC_FILES := ../glib/glib.c 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../glib/ 
include $(BUILD_SHARED_LIBRARY) 


include $(CLEAR_VARS) 
LOCAL_MODULE := mycode 
LOCAL_C_INCLUDES := $(LOCAL_PATH) \ 
       $(LOCAL_PATH)/../glib/ 
LOCAL_SRC_FILES := mycode.c 
LOCAL_LDLIBS := -llog 
LOCAL_SHARED_LIBRARIES := libglib 
include $(BUILD_SHARED_LIBRARY) 

Первая часть построения libglib.so. Тогда вы можете сделать свой модуль mycode зависеть от него.

+0

В нем говорится, что local_src_files должен заканчиваться на .so. В моем случае файл .so для glib построен на ходу. Следовательно, в начале нет libglib.so. – re3el

+0

Ok. Я неправильно понимаю ваш вопрос. В этом случае измените первую часть моего ответа. Измените строку 'LOCAL_SRC_FILES: = ../ glib /' на 'LOCAL_SRC_FILES: = ../ glib/glib.c' (или соответствующий файл src для создайте libglib.so). Затем измените строку 'include $ (PREBUILT_SHARED_LIBRARY)' для 'include $ (BUILD_SHARED_LIBRARY)'. – sonic

+0

Я редактирую свой ответ после моего комментария. Сообщите мне, если это работает для вас. – sonic

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