Установите 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.

lxkarthi
источник