萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 新增自定義函式庫搜尋路徑:LD_LIBRARY_PATH 與 ld.so.conf 兩種方式

函式庫在連結(靜態/共享)與執行(僅共享庫)時被使用,搜尋路徑在系統中設定。預設搜尋 /lib 與 /usr/lib,超出此範圍需手動添加。

方式一:環境變數 LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH

查看:echo $LD_LIBRARY_PATH。優點:無需 root 權限、簡單、避免系統級變更導致相容性問題(如 GTK 版本衝突)。

方式二:修改 /etc/ld.so.conf

將函式庫絕對路徑逐行寫入:

/usr/X11R6/lib
/usr/local/lib
/opt/lib

關鍵步驟:修改後必須以 root 執行 /sbin/ldconfig 更新 /etc/ld.so.cache(非文字檔,由 ldconfig 根據 ld.so.conf 產生)。否則程式執行時無法定位共享庫,即使庫檔存在於 /usr/lib 也會報錯「缺少 xxx 庫」。

連結時指定搜尋路徑

編譯連結階段可用 -L 顯式指定庫路徑,優先搜尋:gcc -L/opt/gtk/lib ...

總結

  • 方式一(LD_LIBRARY_PATH):用戶級、無需 root、適合開發/測試環境、避免系統級衝突
  • 方式二(ld.so.conf + ldconfig):系統級、需 root、永久生效、適用生產環境部署
copyright © 萬盛學電腦網 all rights reserved