Make

Re: Make

by Vincent Bruno Christophe Tournier -
Number of replies: 0

Salut,

Cette erreur m'a l'air assez subtile. De ce que j'en ai trouvé sur internet, le fait est que votre compilateur tente de linker non pas std::string mais std::__cxx11::string à votre module tools, or le constructeur de ifstream accepte std::string et rien d'autre. Cela semble venir d'une mauvaise version de g++, avez-vous essayé de mettre à jour g++ ? Et si oui, utilisez vous la VM du cours ?

Le site de gcc donne cette explication : If you get linker errors about undefined references to symbols that involve types in the std::__cxx11 namespace then it probably indicates that you are trying to link together object files that were compiled with different values for the _GLIBCXX_USE_CXX11_ABI macro. This commonly happens when linking to a third-party library that was compiled with an older version of GCC.

Il existe peut-être un moyen de contourner cette erreur en passant au constructeur de ifstream non pas une string mais un tableau de char. Je vous laisse trouver quelle fonction utiliser pour passer de l'un à l'autre, c'est assez simple.

Tenez moi au jus sur comment évolue votre bug !