Установите clang-3.8 по умолчанию


11

Я установил Clang 3.0 и Clang 3.8:

$ sudo update-alternatives --config clang

update-альтернативы: ошибка: нет альтернативы для Clang.

Как я могу установить 3.8 как /usr/bin/clang?


Сделайте одну или несколько записей в / etc / alternatives /: sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000как в примере с java askubuntu.com/questions/56104/…
Кнуд Ларсен,

На самом деле, это имя «CC». Так что вам нужно выпустить: sudo update-alternatives --config cc
duli

Ответы:


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

Я следовал другому примеру, который использовал «60» для представления «6.0», а --slaveвместо независимых правил - что вы думаете? update-alternativesне похоже, что он делает гораздо больше, чем цепочка символических ссылок, но я не использовал его достаточно, чтобы понять, что может пойти не так.
Джон П

Спасибо тебе за ответ. Что означает 100в конце?
banarun

«100» является произвольным числом приоритета; Приложение с наивысшим приоритетом будет использоваться автоматически, если не указано иное. Например, моя система показывает gccс приоритетом 20 и clangс приоритетом 10; в автоматическом режиме update-alternativesвыбирает gcc. Я мог бы запустить выше с приоритетом 50 , и было бы установить автоматическое предпочтение clang-3.8выше обоих существующих вариантов
Тангенциальный

1

Пытаться:

sudo update-alternatives --config cc

И он представит список вариантов для выбора.

Утилита make для компиляции использует команду cc, которая на самом деле является ссылкой на gcc, clang и т. д.


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

Эти команды добавят 2 записи и по умолчанию выбраны как clang-8. Вы можете настроить с помощью

sudo update-alternatives --config clang

Это обновит clang, clang ++, справочные страницы, clang-формат, clang-tidy.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.