我試圖創建將鏈接到第三方靜態庫靜態庫。 目前我收到的錯誤是鏈接第三方靜態庫到另一個靜態庫
沒有規則,使目標`.../libqqrcLib.a」,由libqqrcAPI.a
這是通過更新到較新的解決需要一個支持與預建庫工作的NDK版本(5B)
這裏是Android.mk我使用:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := qqrcLib
LOCAL_SRC_FILES := libqqrc.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/coreLib/include
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/qqrc/
LOCAL_MODULE := qqrcAPI
LOCAL_SRC_FILES := qqrcEngineImpl.cpp
LOCAL_STATIC_LIBRARIES := qqrcLib
include $(BUILD_STATIC_LIBRARY)
基本上我有一個qqrc.a靜態庫,我已經爲它「qqrcLib」聲明瞭一個模塊。
我希望能夠將它鏈接到第二個名爲「qqrcAPI」的模塊(它在qqrcEngineImpl.cpp中被引用)
由於libqqrc.a是使用不同的方法。
而且項重要的聲明,我定義的Application.mk,看起來像這樣:
APP_MODULES := qqrcAPI
APP_PROJECT_PATH := $(call my-dir)./..
爲了能夠創建一個靜態庫。 (否則我沒有輸出..)
對我來說,目前的問題是即使我有一個單獨的預構建庫模塊,它似乎編譯,我不能產生一個組合的靜態庫,將在其中保存預構建的lib。
我在OBJ \本地\ armeabi目錄的預建庫(qqrcLib.a)和新形成的靜態庫(qqrcAPI.a),但它似乎沒有聯繫的,因爲新的模塊太小...
我在做什麼錯?
有幫助嗎? :)
你的觀察是正確的。 – Ita 2011-06-05 07:33:39
你的觀察是正確的。我試圖利用NDK構建系統來生成一個靜態庫,我可以將其作爲API發佈。我希望能夠避免使用.so文件,但不幸的是我不能。 – Ita 2011-06-05 07:39:41