Установленный clang++ 3.6 на Ubuntu, не может выбрать в качестве альтернативы

Я только что установил clang++ 3.6 на свой компьютер Ubuntu, но не могу установить его как компилятор С++ по умолчанию.

sudo update-alternatives --config c++ 

сообщает мне, что

There is only one alternative in link group c++ (providing /usr/bin/c++): /usr/bin/g++
Nothing to configure.

и clang++ не отображается в

sudo update-alternatives --query c++

либо (что и следовало ожидать). Но компилятор определенно работает:

which clang++-3.6 
/usr/bin/clang++-3.6

Моя версия ОС - Ubuntu 14.04.1 LTS.

Что мне нужно сделать, чтобы сделать update-alternatives include clang++ 3.6?

Примечание. Я ранее использовал clang3.4, но удалил его, так как он не поддерживает все функции С++ 11, которые мне нужны. Похоже, что это все еще версия, установленная при простой установке пакета clang++ (я специально установил clang++ 3.6); update-alternatives DID работает для этой версии.

Ответ 1

Эти работы для меня:

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.6 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.6 100

Ответ 2

Поскольку clang ссылается напрямую, а также через cc, я бы разбил его на альтернативы для clang и альтернативы для cc. После установки clang ниже:

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100

Чтобы выбрать версию clang и cc:

sudo update-alternatives --config clang
sudo update-alternatives --config clang++
sudo update-alternatives --config cc
sudo update-alternatives --config c++

Настройка clang/clang++. Несколько версий clang упакованы в Ubuntu. В 15.10, например:

clang-3.4 - C, C++ and Objective-C compiler (LLVM based)
clang-3.5 - C, C++ and Objective-C compiler (LLVM based)
clang-3.6 - C, C++ and Objective-C compiler (LLVM based)
clang-3.7 - C, C++ and Objective-C compiler (LLVM based)

Наивысшим приоритетом является авто, а остальные выбираются вручную. Поэтому, если мое значение по умолчанию должно быть последним, и были установлены 4 версии:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.7 370
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.7 370
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 360
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 360
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.5 350
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.5 350
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.4 340
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.4 340

Если вы применяете то же самое к LLDB, у вас есть довольно полная среда разработки, которая включает в себя кросс-компиляторы/отладчики для нескольких архитектур. ( "справедливо" означает, что линкер, LLD, недостаточно зрелый, чтобы сказать полный).

Примечание: LLDB + Python-LLDB необходимы для полного отладчика. Несколько версий python-lldb НЕ МОЖЕТ быть установлены вместе, поэтому лучшим вариантом на этом этапе является выбор последней версии LLDB с помощью связанного с ней пакета python.