ホームページ >バックエンド開発 >C++ >std::stoi、std::stoul、および関連関数が MinGW 4.6.1 で認識されないのはなぜですか?

std::stoi、std::stoul、および関連関数が MinGW 4.6.1 で認識されないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 20:10:30252ブラウズ

Why are std::stoi, std::stoul, and related functions not recognized in MinGW 4.6.1?

std::stoi MinGW 4.6.1 の問題

std::stoi、std::stoul を利用してプログラムをコンパイルしようとしたとき、および MinGW 4.6.1 の関連関数では、これらの関数が std のメンバーとして認識されないことを示すエラーが発生します。この問題は、Windows プラットフォームでの vswprintf の非標準宣言が原因で発生します。

GNU 標準ライブラリは、使用される変換関数を無効にするマクロ _GLIBCXX_HAVE_BROKEN_VSWPRINTF を設定します。このマクロは、使用される変換関数を効果的に無効にします。この問題を詳しく理解するには、http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37522 を参照してください。

この問題に対処するために、ユーザーは配布されたヘッダー ファイルを変更することができます。 MinGWと一緒に。これには、.../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h の 2754 行目から !define(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) マクロを削除することが含まれる場合があります。さらに、std::vswprintf を参照する行 2905 ~ 2965 付近にマクロを追加し直します。この変更により、std::to_wstring 関数を除く変換関数が利用できるようになります。

以上がstd::stoi、std::stoul、および関連関数が MinGW 4.6.1 で認識されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。