在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)
我怎样才能标注在共享库可见的静态库中的函数(如描述在第一个例子中)。可能是所需的任何编译器/链接器标志?