-stdlib=libstdc フラグは、コンパイル中に libstdc 標準ライブラリ実装を使用するようにコンパイラーとリンカーに指示します。ただし、このフラグを明示的に指定する必要は必ずしもありません。
他のプラットフォームで Linux または最新の GCC を使用する場合
ほとんどの Linux ディストリビューションと現在の GCC バージョンでは、libstdc はデフォルトの標準ライブラリ実装。したがって、これらのプラットフォームで C 11 コードをコンパイルする場合は、-stdlib=libstdc フラグを使用する必要はありません。次のコマンドを使用するだけです:
Mavericks より前の macOS の場合
Mavericks より前の macOS リリースでは、 g は clang へのシンボリック リンクでした。 Apple の古い libstdc 実装がデフォルトでした。 C 11 ライブラリ サポートを提供する libc を使用するには、 -stdlib=libc フラグが必要でした。
MacOS Mavericks 以降
macOS Mavericks 以降、libc がデフォルトです。 -stdlib=libstdc フラグを明示的に渡すことは不要です。
例外
-stdlib=libstdc フラグを明示的に使用すると有益な特定のケースが存在する場合があります。
以上がコンパイル中に -stdlib=libstdc フラグが必要になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。