Maison  >  Article  >  développement back-end  >  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:02516parcourir

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

How to Resolve experimental::filesystem Linker Error in C++1z

In C++1z development, users attempting to leverage the new experimental::filesystem library have encountered a linker error. This issue is distinct from C++1z support, as experimental::filesystem is a separate specification.

To resolve the issue, users must link their code with the appropriate library. For GCC 5.3 and later, use the -lstdc++fs flag:

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

This library should be placed after any objects that rely on it in the linker command since it is a static library.

Updates:

  • November 2017: GCC 8.x introduces an implementation of the C++17 Filesystem library in the std::filesystem namespace. When using -std=gnu++17 or -std=c++17, -lstdc++fs is still required.
  • January 2019: GCC 9 eliminates the need for -lstdc++fs for C++17 std::filesystem components.
  • April 2024: GCC 13.3 adds std::experimental::filesystem symbols to -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