Linux找不到共享庫問題解決

2021-09-02 17:30:48 字數 591 閱讀 7094

鏈結和執行檔案時,總會遇到cant find ***x.so的錯誤。我們需要將共享庫所在目錄加入到系統的掃面目錄。

系統預設掃瞄目錄為/lib、/usr/lib、/usr/local/lib,這三個目錄加入效果都一樣,只是因為規範問題所以有多個目錄。將***x.so檔案複製到上述目錄,在鏈結時系統就會自動進行尋找。

但是執行時,仍會出現找不到包的問題,這是因為二進位制檔案執行時,為了加快執行速度,會直接讀取ld.so.cache這個快取檔案。執行ldconfig命令,將檔案加入快取。

將共享庫所在目錄,加入ld.so.conf檔案,這樣系統就會自動掃瞄目錄。這種方法同樣需要執行ldconfig。

修改ld_library_path環境變數

export ld_library_path=/home/yourid/sodir:$ld_library_path
有時修改不起作用,這是我們去修改library_path這個變數

export library_path=/home/yourid/sodir:$library_path
修改環境變數的方法一般用於程式除錯,並不建議用於平時使用

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

so 載入符號找不到的問題解決 warning could not load test.so cannot load library reloc library 1312 1332 cannot locate aeabi f2uiz 這個問題是gcc的編譯問題,需要把gcc.a打進去即可,但是解決問...

解決linux找不到動態庫的問題

動態庫即共享庫,說到linux找不到動態庫的問題,首先要了解動態庫的特點 動態庫把對一些庫函式的鏈結載入推遲到程式執行的時期。可以實現程序之間的資源共享。因此動態庫也稱為共享庫 將一些程式公升級變得簡單。甚至可以真正做到鏈結載入完全由程式設計師在程式 中控制 顯示呼叫 由上述中的第1點可知,動態庫並...

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

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