在Android NDK中,我嘗試從小「模塊」 - 靜態庫構建共享庫。例如:將函數從靜態庫導出到共享
Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := module1
LOCAL_SRC_FILES := module1.c
include $(PREBUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := module2
LOCAL_SRC_FILES := module2.c
include $(PREBUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := main-module
LOCAL_STATIC_LIBRARIES := module1 \ module2
include $(BUILD_SHARED_LIBRARY)
但是從模塊1和模塊2的功能是不可見的,當我嘗試從共享libary(主模塊)打電話給他們。從module1.c和module2.c
函數是出口的,因爲我可以叫他們直接舉例來說,如果建立這樣的圖書館:
include $(CLEAR_VARS)
LOCAL_MODULE := module1
LOCAL_SRC_FILES := module1.c
include $(BUILD_SHARED_LIBRARY)
我怎樣才能標註在共享庫可見的靜態庫中的函數(如描述在第一個例子中)。可能是所需的任何編譯器/鏈接器標誌?