リンカーとライブラリ

環境変数の使用

コロンで区切られたディレクトリリストをとる環境変数 LD_LIBRARY_PATH を使用しても、リンカーのライブラリ検索パスを付加できます。この最も一般的な書式 LD_LIBRARY_PATH では、セミコロンで区切られた 2 つのディレクトリリストをとります。最初のリストは、コマンド行上に指定されたリストよりも前に検索され、2 番めのリストはコマンド行上のリストよりもあとに検索されます。 64 ビットオブジェクトを処理ときには、アクティブな LD_LIBRARY_PATH 設定を上書きする LD_LIBRARY_PATH_64 環境変数もあります。

ここでは、LD_LIBRARY_PATH の設定と、いくつかの -Lオプションを指定したリンカーの呼出しを組み合わせています。


$ LD_LIBRARY_PATH=dir1:dir2;dir3
$ export LD_LIBRARY_PATH
$ cc -o prog main.c -Lpath1 ... -Lpath2 ... -Lpathn -lfoo

有効な検索パスは、

dir1:dir2:path1:path2... pathn:dir3:/usr/ccs/lib:/usr/lib

です。

LD_LIBRARY_PATH 定義の一部にセミコロンが指定されてない場合は、指定されたディレクトリリストは、-L オプションのあとで解釈されます。次に例を示します。


$ LD_LIBRARY_PATH=dir1:dir2
$ export LD_LIBRARY_PATH
$ cc -o prog main.c -Lpath1 ... -Lpath2 ... -Lpathn -lfoo
 

ここでは、有効な検索パスは次のとおりです。

path1:path2... pathn:dir1:dir2:/usr/ccs/lib:/usr/lib


注 -

この環境変数は、実行時リンカーの検索パスを拡張する場合にも使用できます (詳細については、「実行時リンカーによって検索されるディレクトリ」 を参照してください)。この環境変数がリンカーに影響しないようにするには、-i オプションを使用します。