Heim >Backend-Entwicklung >C++ >Warum existiert „std::stoi' in MinGW mit gcc 4.6.1 nicht?
std::stoi existiert nicht in MinGW
Beim Kompilieren eines Programms mit std::stoi auf MinGW mit gcc 4.6.1, Möglicherweise wird eine Fehlermeldung angezeigt, die besagt, dass „std::stoi kein Mitglied von ‚std‘ ist“. Dies tritt auf, obwohl die Funktion in neueren Versionen von gcc verfügbar ist.
Die Ursache:
MinGWs nicht standardmäßige Deklaration der vswprintf-Funktion definiert das Makro _GLIBCXX_HAVE_BROKEN_VSWPRINTF, das die deaktiviert Konvertierungsfunktionen, einschließlich std::stoi.
Problemumgehung:
Ändern Sie die in MinGW enthaltenen Header-Dateien, indem Sie das Makro in Zeile 2754 von .../lib auskommentieren /gcc/mingw32/4.6.1/include/c /bits/basic_string.h. Fügen Sie außerdem das Makro wieder in den Zeilen 2905 bis 2965 hinzu, mit Ausnahme der Verweise auf std::vswprintf. Diese Problemumgehung aktiviert zwar die Konvertierungsfunktionen, verhindert jedoch die Verwendung von std::to_wstring-Funktionen.
Das obige ist der detaillierte Inhalt vonWarum existiert „std::stoi' in MinGW mit gcc 4.6.1 nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!