GNU/Linux >> Linux の 問題 >  >> Linux

ldd でパスが見つからない、追加方法

ライブラリが標準パスにない場合は、ライブラリをパスに追加するか、非標準パスを LD_LIBRARY_PATH に追加する必要があります

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>

上記のいずれかを行ったら、以下のコマンドを実行してダイナミック リンカー ランタイム バインディングを更新する必要があります:

sudo ldconfig

更新:

上記の export を記述することで、変更を永続的にすることができます を起動ファイルの 1 つに入力します (例:~/.bashrc) または 基礎となるライブラリが他のライブラリと競合していない場合は、標準ライブラリ パスの 1 つに配置します (例:/lib、/usr/lib)


LD_LIBRARY_PATH 短いテストに適していますが、変数が 1 つしかないためです 、カスタム ライブラリを使用するアプリケーションが複数ある場合に使用するのは面倒です。

Debian/Ubuntu の通常の方法は、ローダーの構成に追加することです。たとえば、

/etc/ld.so.conf.d

ローダーが検索するディレクトリを含みます。たとえば、

/usr/local/libcsfml

さらに読む:

  • ldconfig - 動的リンカーのランタイム バインディングを構成する
  • ld.so, ld-linux.so* - 動的リンカー/ローダー
  • LD_LIBRARY_PATH が良くない理由

これは、問題のバイナリがあなたによってコンパイルされたかのようです。

そのため、一部のライブラリが見つからないという問題はあなたの責任です。

これらのライブラリがあなたのシステムで利用できる場合、それらは非標準のディレクトリの場所にあるようです.

-R directory を使用 リンカーに directory を伝える最後のコンパイラ呼び出し ライブラリが配置されている場所。複数の -R directory オプションが可能です。

gcc を使用しているときは注意してください 、 -Wl,-R を使用する必要がある場合があります -R の代わりに .


Linux
  1. パスをパスに正しく追加する方法は?

  2. $ pathにきれいに追加する方法は?

  3. Linux – Lddがパスを見つけられない、追加する方法は?

  1. サブディレクトリではなく現在のディレクトリのみで「find」コマンドを実行する方法

  2. Python でファイルまたはディレクトリの所有者を見つける方法

  3. パスに bash スクリプトを追加する

  1. LinuxでHADOOP_HOMEパスを見つける方法は?

  2. システムで Hadoop hdfs ディレクトリを見つける方法は?

  3. LinuxでChromedriverをPATHに追加するには?