2

静的ライブラリから共有ライブラリを作成する必要があるプロジェクトに取り組んでいます。私たちが直面している問題は、静的ライブラリに循環依存関係が含まれていることです。以下は私のmakefileのサンプルです:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) 
LOCAL_MODULE := Mylib1
LOCAL_SRC_FILES := lib/libMylib1.a
include $(PREBUILT_STATIC_LIBRARY)

           ....

           ....

           ....

LOCAL_MODULE  := DisplayDriver

LOCAL_SRC_FILES := \

            file1.c \
            file2.c \
            file3.c

LOCAL_STATIC_LIBRARIES := -Wl,--start-group \

                       Mylib1 \
                       Mylib2 \
                       Mylib3 \
                       Mylib4 \
                      -Wl,--end-group


LOCAL_C_INCLUDES :=  \

           $(LOCAL_PATH)/include \
           $(LOCAL_PATH)/examples \


LOCAL_CFLAGS := -x c -DHAVE_STDINT -DHAVE_SETENV -DNDEBUG -c

LOCAL_LDLIBS += -llog

APP_ABI := armeabi-v7a

include $(BUILD_SHARED_LIBRARY)

ndk-build V=1 を指定すると、共有ライブラリを作成するときに -Wl,--start-group と -Wl,--end-group がコンパイルから削除されていることが出力でわかります。それで、明らかな他のフラグはありますか?私は同じものを見逃していますか?

Windows 7 64 ビットで NDK R9 を使用しています。

4

1 に答える 1