LIBRARY_PATH和LD_LIBRAY_PATH的區別和用法
阿新 • • 發佈:2021-01-16
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,以便程式載入執行時能夠自動找到需要的動態連結庫