Nachdem ich einige Anstrengungen unternommen habe, könnte es sich lohnen, einige meiner Erkenntnisse zu teilen. Ich habe es geschafft, Clang + LLVM 3.4 auf Cygwin 1.7.28 (x86) zu erstellen.
Ein aktuelles Update für Cygwin scheint einen der System-Header von Clang beschädigt zu haben. Ein unvollständiger Patch wurde auf der Cygwin-Mailingliste bereitgestellt. Hier ist der vollständige Patch .
Clang ++ (ab 3.4) kodiert immer noch die include-Verzeichnisse für die C ++ - Standardbibliothek (sie beruht auf den von GCC bereitgestellten). Wenn die Pfade nicht korrekt sind (wie es bei Cygwin häufig der Fall ist), treten Probleme auf, wenn Sie einen C ++ - Header (z. B. <iostream>
) einfügen. Zwei mögliche Wege, dies zu beheben:
Sie können die korrekten Pfade zum Code hinzufügen . Dies ist ziemlich unflexibel, da Sie Clang ++ jedes Mal neu kompilieren müssen, wenn sich dies ändert, was bei Cygwin sehr lange dauert. Wenn Sie dies tun möchten, finden Sie den Code unter clang/lib/Frontend/InitHeaderSearch.cpp
in Zeile 389.
Alternativ dazu können Sie eine symbolische Verknüpfung erstellen, in der Clang sie erwartet .
Identifizieren Sie die von Clang ++ durchsuchten Verzeichnisse, indem Sie Folgendes ausführen:
%Vor%Sie sollten etwas in der Art von
finden %Vor% Es wird wahrscheinlich mehrere verschiedene Versionsnummern geben X.Y.Z
. Wählen Sie einen von ihnen aus und erstellen Sie dann einen symbolischen Link zum richtigen Speicherort:
Dabei steht A.B.C
für die Version von GCC, die derzeit installiert ist.
Wenn Sie von Clang farbige Fehlermeldungen erhalten möchten, installieren Sie das ncurses-Entwicklungspaket ( libncurses-devel
) zuvor mit Cygwin Setup. Ohne es wird Clang auf seinen farblosen Modus zurückfallen, weil LLVM nicht in der Lage sein würde festzustellen, ob das Terminal Farben unterstützt.
Sie können immer noch erzwingen, dass Farben mit -fcolor-diagnostics
angezeigt werden, aber der Linker von GCC wird bei diesem Flag ersticken, was die Verwendung sehr ungünstig macht.
Dies ist der einfachste (und längste) Teil, und größtenteils gilt alles in der Dokumentation von LLVM + Clang.
Laden Sie die Quelle herunter . Selbst wenn Sie nur Clang benötigen, benötigen Sie immer noch den LLVM-Quellcode.
Nachdem Sie sowohl Clang als auch LLVM extrahiert haben, verschieben Sie das Clang-Verzeichnis in das Unterverzeichnis tools
von LLVM.
Beginnen Sie mit der Konfiguration:
%Vor% Clang wählt sich lieber selbst als Compiler aus. Wenn Sie also noch keine funktionierende Clang-Installation haben, verwenden Sie die Umgebungsvariablen CC
und CXX
, um stattdessen die Verwendung von GCC zu erzwingen.
Wenn alles in Ordnung ist, können Sie anfangen, & amp; Installation, die sowohl clang als auch llvm aufbauen wird:
%Vor%Tags und Links cygwin llvm-clang