so 載入符號找不到的問題解決

2021-08-02 07:01:54 字數 938 閱讀 6793

so 載入符號找不到的問題解決

warning: could not load test.so: cannot load library: reloc_library[1312]:  1332 cannot locate '__aeabi_f2uiz'...

這個問題是gcc的編譯問題,需要把gcc.a打進去即可,但是解決問題的過程很重要,在這裡記錄下:

遇到這種情況就在so所在的目錄檢視是否有這個符號

objdump -tt test .so | grep __aeabi_f2uiz

通過檢視,確實是不存在的。

然後檢視該test.so的依賴庫是否有 

在symbols/system/lib/的目錄,該目錄是帶詳細debug符號資訊的so,檢視相關資訊

首先檢視該test.so的依賴庫

objdump -x test.so | grep need

needed libtest2.so

needed libtest3.so

接著通過

nm libtest2.so| grep __aeabi_f2uiz

確認這個符號屬於哪個so

通過addr2line -f -e libtest2.so 0000010檢視具體的符號所在的**

發現這個符號是gcc相關。

結合在網上蒐集到的資料,確實是gcc導致的問題

最後在編譯的臨時靜態目錄裡新增這個靜態檔案

新建libgcc資料夾,將gcc.a複製進去

out\target\product\generic\obj\static_libraries\libgcc\gcc.a

最後修改mk檔案

local_static_libraries += libgcc

Linux找不到共享庫問題解決

鏈結和執行檔案時,總會遇到cant find x.so的錯誤。我們需要將共享庫所在目錄加入到系統的掃面目錄。系統預設掃瞄目錄為 lib usr lib usr local lib,這三個目錄加入效果都一樣,只是因為規範問題所以有多個目錄。將 x.so檔案複製到上述目錄,在鏈結時系統就會自動進行尋找。...

MVC幾種找不到資源的問題解決辦法

在mvc中,controller中的action和view中的.cshtml檔名稱有乙個對應的關係。當不對應時,有以下幾種情況發生 一 找不到檢視的錯誤 請求url http localhost 13850 customer create controller中有對應的action view中沒有相...

MVC幾種找不到資源的問題解決辦法

在mvc中,controller中的action和view中的.cshtml檔名稱有乙個對應的關係。當不對應時,有以下幾種情況發生 一 找不到檢視的錯誤 請求url http localhost 13850 customer create controller中有對應的action view中沒有相...