Définissez clang-3.8 par défaut

11

J'ai installé clang 3.0 et clang 3.8:

$ sudo update-alternatives --config clang

update-alternatives: erreur: aucune alternative pour clang.

Comment définir 3.8 comme /usr/bin/clang?

Andrew
la source
Faites une ou plusieurs entrées clang dans / etc / alternatives / :,sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000 comme cet exemple java askubuntu.com/questions/56104/…
Knud Larsen
En fait, le nom est «cc». Vous devez donc émettre: sudo update-alternatives --config cc
duli

Réponses:

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
la source
Je suivais un autre exemple qui utilisait «60» pour représenter «6,0» et --slaveau lieu de règles indépendantes - qu'en pensez-vous? update-alternativesne semble pas faire beaucoup plus que de chaîner des liens symboliques, mais je ne l'ai pas suffisamment utilisé pour savoir ce qui peut mal se passer.
John P
Merci pour la réponse. Que signifie le mot 100à la fin?
banarun
Le «100» est un numéro de priorité arbitraire; l'application avec le numéro de priorité le plus élevé sera utilisée automatiquement, sauf indication contraire. Par exemple, mon système affiche gccune priorité de 20 et clangune priorité de 10; en mode automatique, update-alternativessélectionne gcc. Je pourrais exécuter ce qui précède avec une priorité de 50 et cela définirait la préférence automatique clang-3.8au - dessus des deux options existantes
arclight
1

Essayer:

sudo update-alternatives --config cc

Et il vous présentera la liste des options à choisir.

L'utilitaire make utilise la commande cc pour compiler, qui est en fait un lien vers gcc, clang etc.

duli
la source
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

Ces commandes ajouteront 2 entrées et seront sélectionnées par défaut comme clang-8. Vous pouvez configurer en utilisant

sudo update-alternatives --config clang

Cela mettra à jour clang, clang ++, les pages de manuel, le format clang, le rangement clang.

lxkarthi
la source