ホームページ  >  記事  >  バックエンド開発  >  gcc 4.6.1 の MinGW に「std::stoi」が存在しないのはなぜですか?

gcc 4.6.1 の MinGW に「std::stoi」が存在しないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 05:54:30196ブラウズ

Why Does `std::stoi` Not Exist in MinGW with gcc 4.6.1?

std::stoi Does Not Exist in MinGW

gcc 4.6.1 を使用して MinGW 上で std::stoi を使用してプログラムをコンパイルすると、 「std::stoi は 'std' のメンバーではありません」というエラー メッセージが表示される場合があります。これは、この関数が新しいバージョンの gcc で利用可能であるにもかかわらず発生します。

原因:

MinGW の vswprintf 関数の非標準宣言により、マクロ _GLIBCXX_HAVE_BROKEN_VSWPRINTF が定義され、 std::stoi.

回避策:

.../lib の 2754 行目のマクロをコメント アウトして、MinGW に含まれるヘッダー ファイルを変更します。 /gcc/mingw32/4.6.1/include/c /bits/basic_string.h。さらに、std::vswprintf への参照を除いて、2905 行目から 2965 行目あたりにマクロを追加し直します。この回避策では変換関数が有効になりますが、std::to_wstring 関数は使用できなくなります。

以上がgcc 4.6.1 の MinGW に「std::stoi」が存在しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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