Nach der Installation des clang-3.5
Pakets erhalte ich durch Eingabe von clang
oder clang++
in der Befehlszeile eine Meldung, in welchen Paketen sich diese Programme befinden. Beim Versuch, die Installation clang-3.5
erneut auszuführen , gibt apt an, dass sie bereits installiert und auf dem neuesten Stand ist.
Die ursprüngliche Installation erfolgte mit dem Befehl:
sudo apt-get install clang-3.5 llvm
build-essential
wurde zuvor installiert.
Irgendwelche Ideen, was passiert sein könnte?
ln -s /usr/bin/llc-6.0 /usr/bin/llc
Der richtige Weg , Klirren als Standard zu verwenden
cc
undc++
zu bedienen istupdate-alternatives
:Als erstes müssen Sie
clang-3.5
oderclang++-3.5
als Alternativen zu zBgcc
und hinzufügeng++
:Wenn Sie zu irgendeinem Zeitpunkt zurückkehren müssen
gcc
oderg++
die--config
Option verwenden können:quelle
cc
/c++
zwischen den beiden Pfaden? Was ist das100
am Ende? Priorität?update-alternatives
Dokumente an. Ich denke, sie haben bessere Erklärungen als alles, was ich hier zusammenfassen würde.Unter Ubuntu 15.04 können Sie das Paket clang auch zusammen mit dem Paket clang-xx installieren. Sie können dann clang ++ eingeben und die entsprechende ausführbare Datei sollte gefunden werden.
quelle
Wenn Sie die Antwort von Yan Foto ergänzen (und nur für den Fall, dass Sie eine brauchbare verwenden möchten, diese
clang
aber nicht unbedingt als solche verwenden möchtencc
), können Sie die gesamte Reihe von Programmen gleichzeitig mit hinzufügen(Beachten Sie, dass die mit jeder Clang-Version gelieferten Binärdateien unterschiedlich sein können, z. B. 3.6 hat
clang-tblgen
, 3.8 nicht.)Wenn Sie dies für jede installierte Clang-Version wiederholen, können Sie mit einem einzigen
update-alternatives
Befehl zwischen ihnen wechseln .(In der Zwischenzeit wird offenbar immer noch diskutiert, ob diese Links in Ubuntu-Pakete aufgenommen werden sollen oder nicht: https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493 )
quelle
Erstellen Sie eine .bashrc-Datei in Ihrem Ausgangsverzeichnis. Geben Sie diese Codezeile ein.
alias clang ++ = "clang ++ - 3.5"
Schließen Sie Ihr Terminal. Öffne es wieder. Versuchen Sie dann erneut, Ihr Programm zu kompilieren.
Soweit ich weiß, funktioniert clang nur, wenn Sie die Version im Befehlsnamen "clang ++ - 3.5" angeben. Also habe ich nur den Namen in meiner .bashrc-Datei gefiltert. Also muss ich nur "clang ++" eingeben.
Übrigens habe ich Clang 3.5 heruntergeladen, also passen Sie die vorherigen Ratschläge an Ihre Version an.
quelle
Wenn Sie clang korrekt installiert haben, können Sie sich die Mühe ersparen, die Versionsnummer zusammen mit dem Namen des Programms einzugeben, indem Sie beispielsweise die automatische Vervollständigungsfunktion verwenden (wenn clang ++ - 3.5 installiert ist):
Sie müssen also nur tippen
clang+
, drücken Tabund Enter. Funktioniert genauso mit Namen von Verzeichnissen, Dateinamen usw. (Dies hilft Ihnen jedoch nicht, wenn Sie mehr als eine Version eines Programms installiert haben.)quelle
Dies sollte die Update-Alternativen für clang- 4.0 setzen, wenn clang- 3.8 (wie unter Ubuntu 16.04) installiert ist:
quelle
Ergänzung zu Johann Wendins Antwort zum Thema Symlinking. In einer Root-Shell können Sie alle verschiedenen Clang-Tools gleichzeitig verknüpfen:
z.B
und dann wiederholen für:
Dann sollte alles miteinander verbunden sein, nicht nur eine kleine Auswahl. (Vielleicht habe ich noch etwas vergessen).
Dies findet alle Dateien gemäß dem Muster in / usr / bin, entfernt alle nachfolgenden Zahlen (-8 oder -9 oder sogar -10) und erstellt dann jeweils Symlinks.
quelle