我的應用程序無法在鏈路運行階段,並得到了以下信息:
link_image [1995] ... lib1.so
不能鏈接可執行
該應用取決於幾個動態庫如下:
應用程序需要lib1,lib1 dlopen lib2,並且在lib1中有應用程序(全局變量)導出的符號。
我已經測試了一個簡單的程序lib2是好的。所以我認爲失敗是因爲鏈接階段的lib1導致的(我可以保證應用程序需要的所有其他庫位於當前目錄中,並且「./」已添加到LD_LIBRARY_PATH。我也嘗試將所有該庫到/ System/lib目錄)
問:
- 我怎樣才能使連接器的調試輸出以獲得詳細的錯誤信息?
- 還有其他建議嗎?
EDIT1: 後一些更多的測試,似乎鏈接錯誤是由於由lib1內引用全局符號這是在main.c中定義
的Android是否需要額外的構建標誌,以使全球參考var主要?
沒有人回答這個問題嗎? –