2009-12-12 20 views
10

Ubuntu Linuxライブラリパスはどのようにして決められますか?つまり、リンカーは、プログラムをリンクするときにオブジェクトファイルを取得する場所をどのように知っていますか?Ubuntu Linuxライブラリパス

答えて

8

ファイルパスは、と同様に、-Lパラメータを使用してリンクするときに明示的に設定できます。

-Lパラメータを使用して、リンカーにハードコードされたパスもあります。あなたはコマンドでこれらを見ることができます:

gcc -Xlinker -v 
4

それは標準パス(/lib/usr/lib)でないなら、あなたはコンパイラフラグと場所を指定することができます。 g++については、-L/some/path/libです。 autotoolsを使用している場合は、特定のパスが必要な場合は、LDFLAGS=-L/some/path/libで設定できます。 configureがプロジェクト用に適切に設計されている場合は、--with-some-library=PATHオプションが必要です。このオプションでは、そのライブラリのみのパスも指定できます。

6

/etc/ld.so.conf/etc/ld.so.conf.d/ディレクトリ内のファイル(設定されている場所)を参照してください。

4

リンクするときに、ライブラリがどこにあるかを示すために-Lフラグを指定する必要があります。実行時に、ダイナミックリンカは "/etc/ld.so.conf"、 "/etc/ld.so.conf.d/*"およびLD_LIBRARY_PATHの値で与えられたパスを使用します。

3

"sudo ldconfig"は、新しいものをインストールしたばかりの場合にシステムのキャッシュを更新します。

関連する問題