からGCC の紹介:
ロード パスを設定する最も簡単な方法は、環境変数 を使用することです
LD_LIBRARY_PATH
。たとえば、次のコマンドは、ロード パスを に設定して、が見つかるよう/opt/gdbm-1.8.3/lib
にします。libgdbm.so
$ LD_LIBRARY_PATH=/opt/gdbm-1.8.3/lib $ export LD_LIBRARY_PATH $ ./a.out Storing key-value pair... done.
LD_LIBRARY_PATH
それはBash の組み込み環境変数ではないというのは正しいですか? そうでなければ、export
それは必要ありません。
Bash シェルはPATH
外部プログラムを見つけるために使用し、PATH
Bash の組み込み環境変数です。
Bash シェルは、LD_LIBRARY_PATH
プログラムの実行に必要な共有ライブラリを見つけるために を使用しますが、なぜLD_LIBRARY_PATH
Bash の組み込み環境変数ではないのでしょうか?
答え1
LD_LIBRARY_PATH
シェルでは使用されず、ダイナミックリンカーによって使用されます。man ld.so
詳細については。
エクスポートしないと、リンカーはそれを認識できず、操作できなくなります。