Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxの/usr /bin /ld:-lxxxが見つかりませんどうすればよいですか?

Linuxの/usr /bin /ld:-lxxxが見つかりませんどうすればよいですか?

  

Linux環境でコンパイルすると、 "lds; /usr /bin /ld:-lxxx'"というエラープロンプトが見つからないことがあります。このプロンプトはどういう意味ですか?対処方法は?以下の小シリーズは、この状況に対処する方法をあなたに教えます。

多くの場合、次のエラーメッセージは、アプリケーションまたはlibにコンパイルするソースコードのLinux環境で表示されます。

コードを次のとおりです。

は/usr /binに/LD :-lxxxが見つかりません

これらのメッセージは、さまざまな種類のソースコードをコンパイルしたときの結果が異なります。例:

コードは次のとおりです。

/usr /bin /Ld:-lcが見つかりません

/usr /bin /ld:-ltdlが見つかりません

/usr /bin /ld:-lXtstが見つかりません

ここでxxxは意味します上記の例のように、ライブラリー・ファイルの名前:libc.so、libltdl.so、libXtst.so。

命名規則は、lib + library name(つまりxxx)+ .soです。

これには3つの理由があります。

1システムに対応するlibがありません

2対応するlibのバージョンが正しくありません

3 lib(.soファイル)のシンボリックリンクが正しくありません。正しいライブラリファイル(.so)にリンクされていません。

解決策:

(1)は/usr /で最初に判断されます。 libの下の対応するシンボリックファイル(.so)のシンボリックリンクは正しいですか?

正しいリンク先に誤って変更した場合は、問題を解決できます。

(2)それがシンボリックリンクの問題によるものではないが、システムに対応するlibインストールがない場合libは解決できます。

(3)足りないライブラリのインストール方法:上記の3つのエラーメッセージを例にとります。

コードは以下のとおりです。

エラー1は足りませんlibc LIB

エラー2にlibltdlのLIBがありません

エラー3にlibXtstのLIBがありません

例としてUbuntuを取ります。

最初に該当するLIBを検索します。インストールされたジョブは以下のとおりです。

コードは以下のとおりです。

apt-cache検索libc-dev

apt-cache検索libltdl-dev

apt-cache検索libXtst-dev

インスタンス:

ソースコードのコンパイル中に、次のエラーメッセージが表示されます。gcinのソースコード:

コードは次のとおりです。

/Usr /bin /ld:-lXtstが見つかりません

確認の結果、次のことがわかりました。

lib(.soファイル)のシンボリックリンクが間違っています。

解決策は以下のとおりです。 Br>

コードは次のとおりです。

cd /usr /lib

ln -s libXtst.so.6 libXtst.so

/usr /libディレクトリにある場合libXtst.soファイルが見つからない場合は、それを意味します。いいえライブラリlibXtstのインストールません。

解決策は次のとおりです。

コードは次のとおりです。

apt-get install libxtst-dev

上記はLinuxでは/usr /bin /ldです。できません。 find -lxxxエラーの方法が導入されていますコンパイル時にこのような状況が発生した場合は、上記の方法を試して解決することができます。
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved