簡體   English   中英

LD_LIBRARY_PATH

[英]LD_LIBRARY_PATH

我可以為單個應用程序設置LD_LIBRARY_PATH嗎? 我正在調查系統調用失敗,所以有什么方法可以設置使用LD_LIBRARY_PATH設置設置正確的路徑?

最簡單的方法是創建一個shell腳本。

讓shell腳本導出新的LD_LIBRARY_PATH變量,然后啟動您的應用程序

例如(其中foo是你的應用)

#!/bin/sh
LD_LIBRARY_PATH=some_path:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
foo

很簡單:

LD_LIBRARY_PATH=new_path:$LD_LIBRARY_PATH foo

這在bash中有效。 認為它適用於所有bourne shell衍生產品,但我無法保證。

當然,使用這種方法,您每次都必須鍵入路徑。 要反復這樣做,更喜歡Glen的方法

需要注意的一個問題是:您無法在程序中設置LD_LIBRARY_PATH並使其對當前程序產生任何影響。 這是因為動態加載程序( ld.so.1或類似的名稱)已經加載,並且在運行任何代碼之前已經讀取並處理了環境變量。 您可以在當前進程的環境中設置它,然后該值將影響任何子進程,並且您可以使用exec()系列函數之一來運行具有環境集的程序。 在極端情況下,您可以重新執行當前程序 - 但這是極端的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM