Maison >développement back-end >C++ >Comment corriger l'erreur de l'éditeur de liens lors de l'utilisation du système de fichiers expérimental :: en C 1z ?

Comment corriger l'erreur de l'éditeur de liens lors de l'utilisation du système de fichiers expérimental :: en C 1z ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-15 03:45:02594parcourir

How do I fix the linker error when using experimental::filesystem in C  1z?

Comment résoudre l'erreur de liaison experimental::filesystem en C 1z

Dans le développement C 1z, les utilisateurs tentant d'exploiter la nouvelle bibliothèque experimental::filesystem ont rencontré un éditeur de liens erreur. Ce problème est distinct de la prise en charge de C 1z, car experimental::filesystem est une spécification distincte.

Pour résoudre le problème, les utilisateurs doivent lier leur code à la bibliothèque appropriée. Pour GCC 5.3 et versions ultérieures, utilisez l'indicateur -lstdc fs :

g++ main.cpp -O2 -g -o go -lstdc++fs

Cette bibliothèque doit être placée après tous les objets qui en dépendent dans la commande linker puisqu'il s'agit d'une bibliothèque statique.

Mises à jour :

  • Novembre 2017 : GCC 8.x introduit une implémentation de la bibliothèque C 17 Filesystem dans l'espace de noms std::filesystem. Lors de l'utilisation de -std=gnu 17 ou -std=c 17, -lstdc fs est toujours requis.
  • Janvier 2019 : GCC 9 élimine le besoin de -lstdc fs pour C 17 std : :composants du système de fichiers.
  • Avril 2024 : GCC 13.3 ajoute des 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