GCC の std::thread の正しいリンク オプション
Linux 上の GCC では、std::thread は実装に pthread を利用します。 std::thread を正常に使用するには、コンパイル中に適切なリンク オプションを指定することが重要です。
コンパイルの問題と解決策
提供されたサンプル コードではエラーが発生します。必要な pthread ライブラリがリンクされていません。この問題を解決するには、コンパイル中にソース ファイルの後に -pthread リンカー フラグを追加します。
$ g++ -std=c++0x test.cpp -pthread
オプションの順序
次の点に注意してください。リンカー オプションは、コンパイル中にソース ファイルの後に配置する必要があります。これは、コンパイラが最初にソース コードを処理し、次にリンカが必要な依存関係を解決してバイナリを完成させるためです。
例
修正されたコンパイル コマンドは次のようになります。
$ g++ -std=c++0x test.cpp -pthread
このガイダンスに従うことで、GCC での std::thread の使用を正しくリンクできます。 Linux では、マルチスレッド コードを意図したとおりに実行できます。
以上がGCC の std::thread を pthread に正しくリンクするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。