ホームページ >バックエンド開発 >C++ >C リンカーが「usr/bin/ld:Cannot find -l」というメッセージで失敗するのはなぜですか?どうすれば修正できますか?

C リンカーが「usr/bin/ld:Cannot find -l」というメッセージで失敗するのはなぜですか?どうすれば修正できますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 21:42:40468ブラウズ

Why Does My C   Linker Fail with

"usr/bin/ld: can not find -l"

このエラーは、リンカーがライブラリを見つけられない場合に発生します。コンパイルのリンク段階で指定されたライブラリ。エラー メッセージは、リンカーが「」という名前のライブラリを見つけられないことを示しています。

考えられる原因:

  • ライブラリがインストールされていない可能性があります。リンカーがアクセスできる場所。
  • ライブラリは次の場所に存在しない可能性があります。すべて。
  • ライブラリへのシンボリック リンクに問題がある可能性があります。

解決策:

問題をデバッグするには、次のコマンドを実行します。冗長モードのリンカーは、検索している特定のライブラリを特定します。

LD_DEBUG=all g++

これにより、リンカーによって使用される検索パスを示す追加出力を生成します。ライブラリがこれらのパスのいずれかにあるかどうかを確認してください。

ライブラリが見つからない場合は、正しくインストールされていることを確認してください。パッケージ マネージャーからインストールするか、ライブラリの Web サイトからダウンロードする必要がある場合があります。

ライブラリが存在する場合は、シンボリック リンクを確認してください。正しいバージョンのライブラリを指していること、および破損していないことを確認してください。

ライブラリが見つかってアクセスできるようになったら、プログラムを再構築し、正しいライブラリ パスがメイクファイルで指定されていることを確認してください。

🎜>注:

特定のライブラリ バージョンを使用する場合は、メイクファイル内のライブラリ名にバージョン対応のサフィックスを指定する必要がある場合があります。たとえば、「-l」の代わりに、「-l.」を使用します。ここで「<バージョン>」はライブラリ版です。

以上がC リンカーが「usr/bin/ld:Cannot find -l」というメッセージで失敗するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。