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&, unsigned long, H5::DataType const&) 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!