關於找不到庫檔案

2022-05-14 17:21:34 字數 721 閱讀 2053

系統:centos 6.3

有時我們執行某個程式時出現缺少庫檔案的報錯,如下:

error while loading shared libraries: libcrypto.so.10: cannot open shared object file: no such file or directory

遇到這種情況不要慌,用 ldd 命令檢視程式的依賴庫,看看哪些庫是程式沒有找到的(ldd 命令最好後面跟自己熟悉的檔案,不要去看不熟悉的陌生程式依賴庫,很可能會被黑客利用)

一般都是這種輸出格式:

這是配置檔案,內容如下:

include ld.so.conf.d/*.conf

有時候,某個程式找不到依賴庫,可能不是不存在,而是真的沒找到,而這個配置檔案就是配置庫檔案所在的目錄的:

例如報如下錯:

預設庫檔案目錄只有/lib,/usr/lib

我們可以在/etc/ld.so.conf  中新增庫所在的目錄:

/usr/local/lib

/usr/lib64

/usr/lib

/usr/local/lib64

注:這裡只要新增路徑就可以了。

最後不要忘了執行ldconfig 命令,使配置檔案生效。

關於apue h檔案找不到的問題

在執行 unix環境高階程式設計 這本書中的程式時,編譯器會提示沒有apue.h這個標頭檔案。apue.h是作者自定義的乙個標頭檔案,包括程式所需的常用標頭檔案及出錯處理函式,所以因該將它放入系統標頭檔案中 linux下是 usr include 這樣gcc編譯器就能找到它了。關於這個問題的解決辦法...

QTcreator找不到庫

1.linux庫的命名規則是 動態庫和靜態庫的名字前家lib字首,也就是自己製作的庫的名字為 lib名字.so 或 lib名字.a 但比較詭異的是gcc在編譯的時候命令是沒有字首lib和字尾.so和a。比如gcc l名字 0 main main.c。2.在qt編譯構建的過程中,經常發現 usr bi...

找不到動態庫

找到 so檔案 這裡拿libevent.so為例 sudo find usr local name libevent.so 放到 usr local 或者是 lib 將 so放到環境變數中 1.將動態庫所在目錄的絕對路徑臨時新增到環境變數中 隨終端關閉失效 export ld library pat...