Maison >développement back-end >C++ >Comment convertir std :: __cxx11 :: string en std :: string en C 11 ?

Comment convertir std :: __cxx11 :: string en std :: string en C 11 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 19:00:14847parcourir

How to Convert std::__cxx11::string to std::string in C  11?

Conversion de std::__cxx11::string en std::string

En C, lors de l'utilisation de C 11 avec des bibliothèques non configurées pour le standard, la conversion de type devient nécessaire . Plus précisément, la conversion de std::__cxx11::string en std::string est souvent requise.

Énoncé du problème :

Auparavant, les tentatives d'effectuer cette conversion à l'aide de constructions telles que (chaîne) ont échoué, entraînant des erreurs de l'éditeur de liens similaires à :

undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&amp;, unsigned long, H5::DataType const&amp;) const'

Solution :

Ce problème peut survenir lors de l'utilisation de GCC 5 et de la tentative de lier des fichiers objets compilés avec des valeurs différentes pour la macro _GLIBCXX_USE_CXX11_ABI. Pour résoudre ce problème, redéfinissez la macro comme suit :

#define _GLIBCXX_USE_CXX11_ABI 0

Placez cette définition avant toute inclusion d'en-têtes de bibliothèque standards dans votre code.

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