「usr/bin/ld: -l が見つかりません」トラブルシューティング ガイド
プログラムをコンパイルすると、「usr/bin/ld: -l
1.ライブラリの存在を確認します:
参照しているライブラリが指定された場所に存在することを確認します。次のコマンドを実行して、利用可能なライブラリをすべてリストします:
ldconfig -p | grep <nameOfTheLibrary>
2.シンボリック リンクの検証:
ライブラリへのシンボリック リンクを作成した場合は、それが正しく、実際のライブラリ ファイルを指していることを確認します。 「ls -l」コマンドを使用してリンクを表示します:
ls -l <symbolicLink>
3.詳細リンカー出力:
リンカーが検索している特定のファイルを特定するには、リンカーを詳細モードで実行します。リンク コマンドに「--verbose」フラグを追加します。
ld -l<nameOfTheLibrary> --verbose
出力には、リンカーが検討しているすべての潜在的なディレクトリとファイルが表示されます。
4.不足しているライブラリをインストールします:
ライブラリが存在しないか見つからない場合は、パッケージ マネージャーを使用してインストールします。たとえば、Debian ベースのシステムの場合:
sudo apt-get install <nameOfTheLibrary>-dev
5.コマンドにライブラリ パスを追加:
場合によっては、リンカーがライブラリを自動的に見つけられないことがあります。 「-L」フラグを使用してライブラリ パスを手動で指定できます。
g++ -o myprogram myprogram.cpp -l<nameOfTheLibrary> -L/path/to/library
例:
参照されている問題で説明されている問題を解決するには、リンカーは ZLIB ライブラリを見つけられませんでした:
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
以上が私のリンカが `-l` を見つけられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。