Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois des erreurs de l'éditeur de liens lorsque j'utilise la bibliothèque experimental::filesystem dans GCC 6.0 ?

Pourquoi est-ce que je reçois des erreurs de l'éditeur de liens lorsque j'utilise la bibliothèque experimental::filesystem dans GCC 6.0 ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-15 10:41:02952parcourir

Why am I getting linker errors when using the experimental::filesystem library in GCC 6.0?

Erreur de liaison avec experimental::filesystem

Lors de la tentative d'implémentation des fonctionnalités C 1z à l'aide de la bibliothèque experimental::filesystem dans GCC 6.0, les utilisateurs peut rencontrer une erreur de l’éditeur de liens. Le message d'erreur indique une référence non définie à std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts().

Raison :

Le système de fichiers TS ne fait pas partie de C 1z mais une spécification distincte. L'implémentation par GCC de cette bibliothèque est disponible en mode C 11.

Solution :

Pour résoudre ce problème, créez un lien avec -lstdc fs. La bibliothèque libstdc fs.a doit venir après les objets qui en dépendent dans la commande linker.

Mises à jour :

  • Novembre 2017 : GCC 8.x a implémenté la bibliothèque C 17 Filesystem dans l'espace de noms std::filesystem. Cette bibliothèque peut être utilisée avec -std=gnu 17 ou -std=c 17 et nécessite toujours une liaison avec -lstdc fs.
  • Janvier 2019 : GCC 9 et versions ultérieures permettent l'utilisation de std : :composants du système de fichiers sans -lstdc fs.
  • Avril 2024 : GCC 13.3 a ajouté les symboles std::experimental::filesystem à -lstdc exp.

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