ライブラリで使用したい関数に「未定義の参照」があることを示すコンパイラに問題があります。問題に関する情報を共有させてください。
- Cのgccでクロスコンパイルしています。
- プロトタイプを含む別のヘッダーを含むインクルードヘッダーを介してアクセスされるライブラリ関数を呼び出しています。
- -I を使用してヘッダー ディレクトリを含めましたが、確実に見つかっています。
- 最初に .o ファイルを作成してから、別のコマンドでそれらをリンクしています。
だから私の考えでは、ライブラリファイルをインクルードする順序かもしれませんが、それらを順序付ける正しい方法はわかりません. .o ファイルの前後に headers フォルダーを含めてみました。
リンカーがどのように機能するかについての説明が素晴らしいと示唆する人もいます。
ありがとう!
回答への対応
- .a ライブラリ ファイルはなく、ライブラリには .h と .c だけがあるため、-l は適切ではありません
- ライブラリ ファイルについての私の理解では、それは単なるヘッダー ファイルとソース ファイルのコレクションですが、ソースから作成された .o ファイルのコレクションではないでしょうか?!
- ライブラリ オブジェクト ファイルが作成されていません。はい、インクルードとライブラリの違いを理解していないようです...私はそれに取り組みます:-)
すべての応答に感謝します! 私は図書館について多くのことを学びました。すべての回答を受け入れられた回答として掲載したいと思います:-)