首頁  >  文章  >  後端開發  >  為什麼 MinGW 4.6.1 中無法辨識 std::stoi、std::stoul 和相關函數?

為什麼 MinGW 4.6.1 中無法辨識 std::stoi、std::stoul 和相關函數?

Linda Hamilton
Linda Hamilton原創
2024-10-29 20:10:30171瀏覽

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

MinGW 4.6.1 中的std::stoi 問題

嘗試使用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) 巨集。此外,將巨集新增回第 2905 至 2965 行,該巨集引用了 std::vswprintf。此修改將啟用轉換函數的可用性,不包括 std::to_wstring 函數。

以上是為什麼 MinGW 4.6.1 中無法辨識 std::stoi、std::stoul 和相關函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn