1. 程式人生 > 其它 >LIBRARY_PATH和LD_LIBRAY_PATH的區別和用法

LIBRARY_PATH和LD_LIBRAY_PATH的區別和用法

技術標籤:Linux 基礎linux

LIBRARY_PATH和LD_LIBRAY_PATH是Linux 系統下的兩個環境變數。兩者的區別是:

LIBRAY_PATH用於在程式編譯期間告訴連結器ld查詢動態連結庫時動態庫的路徑,例如,指定gcc編譯需要用到的動態連結庫的目錄。設定方法如下:(其中LIBDIR1和LIBDIR2是兩個庫目錄)

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH

LD_LIBRARY_PATH用於在程式載入時告訴動態連結器ld-linux-x86-64.so.2(64位CenOS7.8下的動態連結器是軟鏈/usr/lib64/ld-linux-x86-64.so.2指向的ld-2.17.so)

去指定的除系統預設搜尋之外的其它路徑下去尋找共享庫。注意,LD_LIBRRY_PATH指定的路徑會在系統預設的搜尋路徑之前查詢。也就是說對於動態連結器而言,環境變數LD_LIBRARY_PATH指定的路徑優先順序要高於系統預設的動態庫的查詢路徑。其設定方法如下:

export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH

區別與使用:

開發時,使用LIBRARY_PATH,以便於gcc能夠找到編譯時程式的依賴庫。

釋出時,使用LD_LIBRARY_PATH,以便程式載入執行時能夠自動找到需要的動態連結庫