Establecer clang-3.8 como predeterminado

11

He instalado clang 3.0 y clang 3.8:

$ sudo update-alternatives --config clang

actualización-alternativas: error: no hay alternativas para el sonido metálico.

¿Cómo puedo configurar 3.8 como /usr/bin/clang?

Andrés
fuente
Realice una o más entradas de clang en / etc / alternative /: sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000como este ejemplo de Java askubuntu.com/questions/56104/…
Knud Larsen el
En realidad, el nombre es 'cc'. Por lo tanto, debe emitir: sudo update-alternative --config cc
duli

Respuestas:

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
Andrés
fuente
Estaba siguiendo otro ejemplo que usaba '60' para representar '6.0' y, en --slavelugar de reglas independientes, ¿qué piensas? update-alternativesno parece que esté haciendo mucho más que encadenar enlaces simbólicos, pero no lo he usado lo suficiente como para saber qué puede salir mal.
John P
Gracias por la respuesta ¿Qué significa 100al final?
Banarun 01 de
El '100' es un número de prioridad arbitrario; la aplicación con el número de mayor prioridad se usará automáticamente a menos que especifique lo contrario. Por ejemplo, mi sistema se muestra gcccon una prioridad de 20 y clangcon una prioridad de 10; en modo automático, update-alternativesselecciona gcc. Podría ejecutar lo anterior con una prioridad de 50 y establecería la preferencia automática de las clang-3.8dos opciones existentes anteriores
arclight el
1

Tratar:

sudo update-alternatives --config cc

Y presentará la lista de opciones para que usted elija.

make utility utiliza el comando cc para compilar, que en realidad es un enlace a gcc, clang, etc.

duli
fuente
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

Estos comandos agregarán 2 entradas y se seleccionarán por defecto como clang-8. Puedes configurar usando

sudo update-alternatives --config clang

Esto actualizará clang, clang ++, páginas man, formato clang, clang-tidy.

lxkarthi
fuente