Stellen Sie clang-3.8 als Standard ein

11

Ich habe Clang 3.0 und Clang 3.8 installiert:

$ sudo update-alternatives --config clang

Update-Alternativen: Fehler: Keine Alternativen für Clang.

Wie kann ich 3.8 als einstellen /usr/bin/clang?

Andrew
quelle
Machen Sie einen oder mehrere Clang-Einträge zu / etc / alternatives / :,sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000 wie in diesem Java-Beispiel askubuntu.com/questions/56104/…
Knud Larsen
Eigentlich ist der Name 'cc'. Sie müssen also Folgendes ausgeben: sudo update-alternatives --config cc
duli

Antworten:

23
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100
Andrew
quelle
Ich folgte einem anderen Beispiel, das '60' für '6.0' und --slaveanstelle von unabhängigen Regeln verwendete - was denken Sie? update-alternativesEs sieht nicht so aus, als würde es viel mehr tun, als Symlinks zu verketten, aber ich habe es nicht genug verwendet, um zu wissen, was schief gehen kann.
John P
Danke für die Antwort. Was bedeutet das 100am Ende?
Banarun
Die '100' ist eine beliebige Prioritätsnummer; Die Anwendung mit der höchsten Prioritätsnummer wird automatisch verwendet, sofern Sie nichts anderes angeben. Zum Beispiel zeigt mein System gccmit einer Priorität von 20 und clangmit einer Priorität von 10; update-alternativeswählt im Auto-Modus ausgcc . Ich könnte das oben genannte mit einer Priorität von 50 ausführen und es würde die automatische Präferenz clang-3.8über beiden vorhandenen Optionen
festlegen
1

Versuchen:

sudo update-alternatives --config cc

Außerdem wird die Liste der Optionen angezeigt, die Sie auswählen können.

Das Dienstprogramm make verwendet den Befehl cc zum Kompilieren, der eigentlich eine Verknüpfung zu gcc, clang usw. darstellt.

duli
quelle
1
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8   81 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-8    --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-8.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-8  --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-8
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 60 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-6.0  --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-6.0.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-6.0 --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-6.0

Diese Befehle fügen 2 Einträge hinzu und werden standardmäßig als clang-8 ausgewählt. Sie können mit konfigurieren

sudo update-alternatives --config clang

Dadurch werden Clang, Clang ++, Manpages, Clang-Format und Clang-Tidy aktualisiert.

lxkarthi
quelle