Para aproveitar a resposta aceita, se você tiver várias versões do clang, talvez seja de seu interesse tornar clang++
dependente de clang
, de modo que tudo que você precisa fazer é atualizar o clang para uma versão diferente e a versão do clang ++ segue o exemplo.
Você pode fazer isso usando a opção --slave
de update-alternatives
. Então, algo assim:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9
Você pode fazer isso para outras versões:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0
Para mudar de versão, basta digitar:
sudo update-alternatives --config clang
Insira uma seleção e os clang
e clang++
serão automaticamente alterados para as mesmas versões.
A mesma ideia aplica-se a GCC
se também tiver várias versões, pode utilizar este método para configurar gcc
e g++
.
Erros:
update-alternatives: error: alternativa clang ++ não pode ser escrava de
clang: é uma alternativa mestra
Você pode obter este erro quando tentar executar os comandos acima. Não se preocupe, significa apenas que você já configurou clang++
como alternativa, então você precisará remover essa alternativa antes que o acima funcione. Você pode fazer isso com o comando:
sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9
Faça isso para cada versão do clang ++, depois de removê-los todos, tente novamente.
Fontes: