Linux
找出庫是否在路徑中
假設我想測試一個庫是否已安裝並可供程序使用。我可以用
ldconfig -p | grep mylib
它來查明它是否安裝在系統上。但是如果圖書館只能通過設置知道LD_LIBRARY_PATH
呢?在這種情況下,程序可能能夠找到該庫,但
ldconfig
不會。如何檢查庫是否在組合連結器路徑中?我要補充一點,我正在尋找一種即使我手頭實際上沒有程序(例如程序尚未編譯)也能工作的解決方案,我只想知道某個庫存在於
ld
‘的路徑。
ldconfig
可以列出它有權訪問的所有庫。這些庫也儲存在其記憶體中。
/sbin/ldconfig -v -N
將爬取所有常用的庫路徑,列出所有可用的庫,而不重建記憶體(如果您是非 root 使用者,這是不可能的)。它不考慮 LD_LIBRARY_PATH 中的庫(與本文在編輯之前所說的相反),但您可以使用以下行將其他庫傳遞到命令行:/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)