Heim > Backend-Entwicklung > C++ > Wie behebe ich Linker-Fehler bei der Verwendung von „experimental::filesystem' in GCC?

Wie behebe ich Linker-Fehler bei der Verwendung von „experimental::filesystem' in GCC?

Linda Hamilton
Freigeben: 2024-11-15 14:07:02
Original
699 Leute haben es durchsucht

How to Resolve Linker Errors When Using  `experimental::filesystem` in GCC?

Linkerfehler für „experimental::filesystem“ beheben

Wenn Sie versuchen, die neuesten C 1z-Funktionen mit GCC 6.0 zu nutzen, insbesondere mit der „experimental::filesystem“-Bibliothek, kann dies der Fall sein Es tritt ein Linker-Fehler wie dieser auf:

undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
Nach dem Login kopieren

Der Unterschied zwischen Dateisystem TS und C 1z

Es ist wichtig zu beachten, dass das Dateisystem TS (Technische Spezifikation) nicht Teil von C 1z ist ( jetzt C 20) Standard. Daher hängt der Fehler nicht mit der C 1z-Unterstützung zusammen, sondern mit der Verknüpfung mit der entsprechenden Bibliothek.

Verknüpfung mit der Dateisystem-TS-Bibliothek

Um das Problem zu beheben, verknüpfen Sie Ihren Code mit der statischen Bibliothek – lstdc fs. Dadurch wird die notwendige Implementierung für die experimentell::filesystem-Funktionen bereitgestellt. Denken Sie daran, es im Linker-Befehl nach allen Objekten zu platzieren, die davon abhängen.

Updates zur Dateisystemunterstützung in GCC

November 2017:
GCC 8.x führt eine C 17-kompatible Dateisystembibliothek unter dem Namensraum std::filesystem ein. Für die Verwendung sind sowohl -std=gnu 17 als auch -lstdc fs erforderlich.

Januar 2019:
GCC 9 ermöglicht die Verwendung von std::filesystem-Komponenten ohne -lstdc fs.

April 2024:
GCC 13.3 präsentiert neben anderen experimentellen Definitionen auch experimentelle::Dateisystemsymbole in -lstdc exp.

Das obige ist der detaillierte Inhalt vonWie behebe ich Linker-Fehler bei der Verwendung von „experimental::filesystem' in GCC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage