g : 'std::system_error' を使用したマルチスレッド コードのコンパイルが解決されました
マルチスレッド コードのコンパイル中にエラー 'std::system_error' が発生しましたg だとイライラするかもしれません。 「-pthread」フラグを明示的に指定しているにもかかわらず、問題は解決しません。
提供されたコードを調査したところ、明らかな問題はないようです。ただし、この問題は gcc のバグによって発生します。 SO C チャットのメンバーによって提供された回避策は、解決策を提供します。
-Wl,--no-as-needed
このフラグをコンパイル コマンドに追加すると、問題が解決され、マルチスレッド コードが正常にコンパイルおよび実行できるようになります。更新されたコンパイル コマンドは次のようになります:
$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
以上が「-pthread」を使用しても、マルチスレッド コードで「std::system_error」がスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。