Maison >développement back-end >C++ >Pourquoi std::stoi, std::stoul et les fonctions associées ne sont-elles pas reconnues dans MinGW 4.6.1 ?

Pourquoi std::stoi, std::stoul et les fonctions associées ne sont-elles pas reconnues dans MinGW 4.6.1 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 20:10:30255parcourir

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

std::stoi Problème dans MinGW 4.6.1

Lors de la tentative de compilation d'un programme utilisant std::stoi, std::stoul , et les fonctions associées avec MinGW 4.6.1, une erreur est rencontrée indiquant que ces fonctions ne sont pas reconnues comme membres de std. Ce problème survient en raison de la déclaration non standard de vswprintf sur les plateformes Windows.

La bibliothèque standard GNU définit la macro _GLIBCXX_HAVE_BROKEN_VSWPRINTF, qui désactive les fonctions de conversion utilisées. Cette macro désactive efficacement les fonctions de conversion utilisées. Pour une compréhension approfondie du problème, reportez-vous à http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37522.

Pour résoudre ce problème, les utilisateurs peuvent modifier les fichiers d'en-tête distribués. avec MinGW. Cela peut impliquer de supprimer la macro !définie(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) de la ligne 2754 de .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h. De plus, ajoutez la macro autour des lignes 2905 à 2965, qui font référence à std::vswprintf. Cette modification permettra la disponibilité des fonctions de conversion, à l'exclusion des fonctions std::to_wstring.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn