1. 程式人生 > >Linux下執行時指定動態庫

Linux下執行時指定動態庫

  開發程式的過程中,經常會用到一些動態庫,但是動態庫是無法編譯到程式中的,所以安裝程式時可能就需要將動態庫放到預設的路徑下/usr/lib或者/usr/local/lib/ 下等目錄,否則,在執行程式時,就會有類似“libxxx.so找不到”的提示。

  那麼如果沒有許可權將指定的庫拷貝到系統目錄下呢?

  這時就會用到一個環境變數LD_LIBRARY_PATH,通過如下cmd執行即可:

$ export   LD_LIBRARY_PATH=<path>

<path>用於指定動態庫的位置,可以是相對路徑,也可以是絕對路徑。

比如我們寫了一個程式叫testLib, 它需要需用動態庫libtest.so, 我們將其放在同一個目錄下,那麼只需要執行如下CMD即可指定程式所需動態庫的位置:

$ export LD_LIBRARY_PATH=.


LD_LIBRARY_PATH是Linux環境變數名,該環境變數主要用於指定查詢共享庫(動態連結庫)時除了預設路徑之外的其他路徑。

export LD_LIBRARY_PATH=NEWDIRS:$LD_LIBRARY_PATH // NEWDIRS 表示新的路徑


這樣只能一次生效,如果想永久生效的話,可以將上述程式碼複製到bashrc(/etc/bashrc或者~/.bashrc)檔案中。