系統: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...