Linux下執行時指定動態庫
阿新 • • 發佈:2019-02-01
開發程式的過程中,經常會用到一些動態庫,但是動態庫是無法編譯到程式中的,所以安裝程式時可能就需要將動態庫放到預設的路徑下/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)檔案中。