LIBRARY_PATH和LD_LIBRARY_PATH環境變數的區別
阿新 • • 發佈:2022-03-15
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的兩個環境變數,二者的含義和作用分別如下:
LIBRARY_PATH環境變數用於在程式編譯期間查詢動態連結庫時指定查詢共享庫的路徑,例如,指定gcc編譯需要用到的動態連結庫的目錄。設定方法如下(其中,LIBDIR1和LIBDIR2為兩個庫目錄):
export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
LD_LIBRARY_PATH環境變數用於在程式載入執行期間查詢動態連結庫時指定除了系統預設路徑之外的其他路徑,注意,LD_LIBRARY_PATH中指定的路徑會在系統預設路徑之前進行查詢。設定方法如下(其中,LIBDIR1和LIBDIR2為兩個庫目錄):
export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH
舉個例子,我們開發一個程式,經常會需要使用某個或某些動態連結庫,為了保證程式的可移植性,可以先將這些編譯好的動態連結庫放在自己指定的目錄下,然後按照上述方式將這些目錄加入到LD_LIBRARY_PATH環境變數中,這樣自己的程式就可以動態連結後加載庫檔案運行了。
區別與使用:
開發時,設定LIBRARY_PATH,以便gcc能夠找到編譯時需要的動態連結庫。
釋出時,設定LD_LIBRARY_PATH,以便程式載入執行時能夠自動找到需要的動態連結庫。