我們正在研究一個需要從靜態庫創建共享庫的項目。我們面臨的問題是靜態庫包含循環依賴。以下是我的makefile文件的樣本:解決Android 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的建造V = 1,我可以在輸出中,明確輪候冊,看到的 - 啓動組和輪候冊, - 端基將在創建共享庫時從編譯中刪除。那麼有沒有其他的標誌是顯而易見的,我錯過了相同的標誌?
我在Windows 7 64位上使用NDK R9。
* [Android NDK:如何鏈接多個第三方庫](https://stackoverflow.com/questions/13637450/android-ndk-how-to-link-multiple-3rd-party-libraries)*不是嚴格來說是重複的,但[接受的答案](https://stackoverflow.com/a/13668373/192373)也解決了這個問題。 –