Ich habe 3 Tage lang versucht, clang 5.0 auf einem Ubuntu 16.04-Rechner zu installieren. Ich habe verschiedene Anleitungen ausprobiert , aber nichts scheint zu funktionieren. Wenn ich versuche, einfach die neueste Version von SVN herunterzuladen und zu erstellen / installieren (wie hier beschrieben ), führt der Versuch, ein einfaches Programm zu kompilieren, zu folgenden Ergebnissen:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
Ich habe dann versucht, das -DGCC_INSTALL_PREFIX
Flag cmake
vor dem Erstellen zu setzen, aber das führt zu dem noch besseren Fehler:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
Die Schritte, die ich befolgt habe, sind (aus der obigen Anleitung):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
Könnte mich jemand wie einen Idioten behandeln und Schritt für Schritt erklären, wie man Clang 5.0 installiert? Oder weisen Sie mich auf einen Leitfaden hin, dem auch einfache Dummköpfe wie ich folgen können? Wenn Sie auch erklären können, wie Sie libc ++ für C ++ 17 erstellen und installieren, wäre ich Ihnen auf ewig dankbar.
Update : Anscheinend installiere ich clang nicht richtig, da dies die Ausgabe einer ausführlichen Zusammenstellung mit clang ist:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
und das ist die Ausgabe für g ++:
#include <...> search starts here:
/usr/include/c++/5
/usr/include/x86_64-linux-gnu/c++/5
/usr/include/c++/5/backward
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
...
dpkg -l libstdc++-5-dev | tail -1
build-essential
installiert?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Antworten:
Installieren Sie clang-5 von llvm.org repositores
Zuerst sollten wir die llvm.org-Repositorys zu unseren Quellenlisten hinzufügen. Die Zeile, die wir hinzufügen sollten, lautet:
Öffne nano und füge die obige Zeile zu dieser Datei hinzu:
Fügen Sie den Repository-Schlüssel hinzu, damit
apt
die heruntergeladenen Pakete überprüft werden können.Aktualisieren Sie anschließend Ihre Listen:
Dann installiere clang-5:
Es sollte funktionieren.
Wenn Sie eine Liste aller verfügbaren Pakete aus diesem neu hinzugefügten Repository erhalten möchten:
Es gibt Ihnen eine Liste wie:
Sie können dann installieren, was Sie wollen.
Dies kann Ihrem Kompilierungsproblem helfen
Die erwähnte Header-Datei ist in Ihrem Fehler nicht vorhanden:
stdarg.h
ist Teil deslibstdc++-5-dev
Pakets.Ich habe dieses Paket auf meinem Computer. Wenn ich also Folgendes ausführe:
Ich werde bekommen:
So ist es , dass die Installation scheint
build-essential
Paket lösen sollte diesen Fehler von Ihnen, denn ich bin nicht sicher , was du getan hast.quelle
build-essential
installiert. Aber die Ausgabe für myaptitude why libstdc++-5-dev
ist genau die gleiche wie Ihre, außer dass es keine Build-Essential-Zeile gibt.