Heim >Backend-Entwicklung >C++ >Warum werden std::stoi, std::stoul und verwandte Funktionen in MinGW 4.6.1 nicht erkannt?

Warum werden std::stoi, std::stoul und verwandte Funktionen in MinGW 4.6.1 nicht erkannt?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 20:10:30262Durchsuche

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

std::stoi-Problem in MinGW 4.6.1

Beim Versuch, ein Programm mit std::stoi, std::stoul zu kompilieren und verwandter Funktionen mit MinGW 4.6.1 ist ein Fehler aufgetreten, der darauf hinweist, dass diese Funktionen nicht als Mitglieder von std erkannt werden. Dieses Problem entsteht aufgrund der nicht standardmäßigen Deklaration von vswprintf auf Windows-Plattformen.

Die GNU-Standardbibliothek legt das Makro _GLIBCXX_HAVE_BROKEN_VSWPRINTF fest, das die verwendeten Konvertierungsfunktionen deaktiviert. Dieses Makro deaktiviert effektiv die verwendeten Konvertierungsfunktionen. Weitere Informationen zum Problem finden Sie unter http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37522.

Um dieses Problem zu beheben, können Benutzer die verteilten Header-Dateien ändern mit MinGW. Dies kann das Entfernen des Makros !definiert(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) aus Zeile 2754 von .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h beinhalten. Fügen Sie außerdem das Makro wieder in den Zeilen 2905 bis 2965 hinzu, die auf std::vswprintf verweisen. Diese Änderung ermöglicht die Verfügbarkeit von Konvertierungsfunktionen, ausgenommen std::to_wstring-Funktionen.

Das obige ist der detaillierte Inhalt vonWarum werden std::stoi, std::stoul und verwandte Funktionen in MinGW 4.6.1 nicht erkannt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn