GCC:ライブラリを複数回リンクすると、「マルチ定義」エラーが発生しますか?

GCC:ライブラリを複数回リンクすると、「マルチ定義」エラーが発生しますか?

Buildrootを介して生成されたツールチェーンがあり、それを使用して何かを静的にコンパイルしようとしていますが、gcc「マルチ定義」に関連する問題が原因でビルドが失敗します。問題のコマンドラインを見ると、gccが2回表示されるlinkオプションで実行されますgcc -lpthread -lpthread

Buildroot IRCはこの内容に言及しましたが、同じライブラリを2回リンクしても問題は発生しませんでした。これは本当ですか? GCCは本当に十分にスマートですか?他の理由でコンパイルが失敗する可能性がありますか?

ベストアンサー1

以下のコメントで指摘したように、私の質問に対する答えは次のとおりです。いいえ、現在リンカーがとてもスマートで問題は他にあることに違いありません。

おすすめ記事