macOS Clang C ++ 17 Dateisystemkopf nicht gefunden

8

Ich muss ein Programm mit der (experimentellen) C++17 Dateisystem-Bibliothek schreiben, aber clang auf meinem Mac (macOS 10.12.03) scheint nicht den Dateisystem-Header enthalten zu haben.

Da ich C++17 verwenden muss, kann ich keine Alternativen wie die Boost -Bibliothek verwenden.

Wenn ich versuche, ein Beispielprogramm zu kompilieren, das nur Dateisystem und iostream enthält (und in cout schreibt)

%Vor%

Ich erhalte die folgende Fehlermeldung:

%Vor%

Wenn ich dasselbe mit GCC 6.3 (über Homebrew installiert) versuche, bekomme ich:

%Vor%

Ich habe auch versucht, stattdessen experimental / filesystem zu verwenden, das mit gcc kompiliert, aber anscheinend versucht, für iOS zu kompilieren, was zu einem anderen Fehler führt, der mit iostream

zusammenhängt %Vor%

Die Version meines Klangs ist:

%Vor%

Ich bin dankbar für jede hilfreiche Eingabe, da ich bisher nichts finden konnte, was mein Problem gelöst hat (obwohl ich vielleicht nach den falschen Begriffen gesucht habe).

Wenn Sie weitere Informationen benötigen, werde ich es Ihnen gerne zur Verfügung stellen, aber ich hoffe, dass alles enthalten ist.

    
snoato 06.03.2017, 18:59
quelle

2 Antworten

9

Libc ++, die C ++ - Standardbibliothek unter OS X, hat <experimental/filesystem> noch nicht in <filesystem> verschoben, da die Spezifikation nicht stabil ist.

Hoffentlich wird <filesystem> Teil der Clang 6.0-Version sein. (EDIT: Wir haben 5.0 verpasst)

    
EricWF 06.03.2017, 20:23
quelle
0
  

Inklusive bekommt man die Deklarationen, aber zu   Holen Sie sich die Definitionen, die Sie auch mit -lstdc ++ fs (für   libstdc ++) oder ich weiß nicht (für libc ++). Wenn jemand es weiß, vielleicht   könnte diese Antwort aktualisieren?

Für libc ++ müssen Sie mit -lc++experimental

verlinken     
jvillasante 24.09.2017 01:30
quelle

Tags und Links