執行時,so庫找不到的原因

2021-08-27 03:45:24 字數 798 閱讀 9459

ldconfig是乙個動態鏈結庫管理命令,其目的為了讓動態鏈結庫為系統所共享。

ldconfig的主要用途:

預設搜尋/lilb和/usr/lib,以及配置檔案/etc/ld.so.conf內所列的目錄下的庫檔案。

搜尋出可共享的動態鏈結庫,庫檔案的格式為:lib***.so.**,進而建立出動態裝入程式(ld.so)所需的連線和快取檔案。

快取檔案預設為/etc/ld.so.cache,該檔案儲存已排好序的動態鏈結庫名字列表。

ldconfig通常在系統啟動時執行,而當使用者安裝了乙個新的動態鏈結庫時,就需要手工執行這個命令。

ldconfig需要注意的地方:

1、往/lib和/usr/lib裡面加東西,是不用修改/etc/ld.so.conf檔案的,但是新增完後需要呼叫下ldconfig,不然新增的library會找不到。

2、如果新增的library不在/lib和/usr/lib裡面的話,就一定要修改/etc/ld.so.conf檔案,往該檔案追加library所在的路徑,然後也需要重新呼叫下ldconfig命令。比如在安裝mysql的時候,其庫檔案/usr/local/mysql/lib,就需要追加到/etc/ld.so.conf檔案中。命令如下:

# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

# ldconfig -v | grep mysql

3、如果新增的library不在/lib或/usr/lib下,但是卻沒有許可權操作寫/etc/ld.so.conf檔案的話,這時就需要往export裡寫乙個全域性變數ld_library_path,就可以了。

OpenCV 執行時顯示找不到 dll

現象 visual stuido中可以編譯 ctr f7 成功,但是build f5不成功亦或說,exe可執行檔案不能執行 如果,編譯成功,但是build 不成功,或者exe執行檔案,報錯 執行時顯示找不到 某某某。x.dll.但是你確認,該dll在opencv系統資料夾中。問題原因 dll沒有定位...

程式執行時找不到庫的解決方案

一.使用ld library path變數 scp error while loading shared libraries libz.so.1 cannot open shared object file no such file or directory 那麼直接執行export ld libr...

Linux程式執行時找不到動態鏈結庫的原因

linux程式執行時找不到動態鏈結庫的原因 如果沒在環境變數 ld library path 上加上程式所需動態鏈結庫的所在目錄,那麼執行這個程式時就會出現錯誤。如下在執行 initmysqlv1 程式時出現的錯誤 initmysqlv1 initmysqlv1 error while loadin...