天天看點

LIBRARY_PATH和LD_LIBRARY_PATH環境變量的差別

LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的兩個環境變量,二者的含義和作用分别如下:

LIBRARY_PATH環境變量用于在程式編譯期間查找動态連結庫時指定查找共享庫的路徑,例如,指定gcc編譯需要用到的動态連結庫的目錄。設定方法如下(其中,LIBDIR1和LIBDIR2為兩個庫目錄):

LD_LIBRARY_PATH環境變量用于在程式加載運作期間查找動态連結庫時指定除了系統預設路徑之外的其他路徑,注意,LD_LIBRARY_PATH中指定的路徑會在系統預設路徑之前進行查找。設定方法如下(其中,LIBDIR1和LIBDIR2為兩個庫目錄):

舉個例子,我們開發一個程式,經常會需要使用某個或某些動态連結庫,為了保證程式的可移植性,可以先将這些編譯好的動态連結庫放在自己指定的目錄下,然後按照上述方式将這些目錄加入到LD_LIBRARY_PATH環境變量中,這樣自己的程式就可以動态連結後加載庫檔案運作了。

差別與使用:

開發時,設定LIBRARY_PATH,以便gcc能夠找到編譯時需要的動态連結庫。

釋出時,設定LD_LIBRARY_PATH,以便程式加載運作時能夠自動找到需要的動态連結庫。

繼續閱讀