Depois de instalar o clang-3.5
pacote, digitar clang
ou clang++
na linha de comando me dá uma mensagem informando em quais pacotes esses programas podem ser encontrados. Tentando executar a instalação clang-3.5
novamente, o apt afirma que já está instalado e na versão mais recente.
A instalação original foi feita com o comando:
sudo apt-get install clang-3.5 llvm
build-essential
foi instalado anteriormente.
Alguma idéia do que pode ter acontecido?
ln -s /usr/bin/llc-6.0 /usr/bin/llc
A maneira correta de usar o clang como padrão
cc
ec++
é usarupdate-alternatives
:Então, primeiro você precisa adicionar
clang-3.5
ouclang++-3.5
como alternativas a, por exemplo,gcc
eg++
:Se, a qualquer momento, você precisar voltar para
gcc
oug++
usar a--config
opção:fonte
cc
/c++
entre os dois caminhos? O que é isso100
no final? Prioridade?update-alternatives
documentos. Eu acho que eles têm uma explicação melhor do que qualquer coisa que eu resumiria aqui.No Ubuntu 15.04, você também pode instalar o pacote clang ao longo do pacote clang-xx. Você pode digitar clang ++ e o executável correspondente deve ser encontrado.
fonte
Adicionando a resposta de Yan Foto (e caso seu objetivo seja obter uma utilizável,
clang
mas não necessariamente utilizá-la comocc
), você pode realmente adicionar todo o conjunto de programas de uma só vez usando(Observe que o conjunto de binários que acompanham cada versão do clang pode ser diferente, por exemplo, 3.6 possui
clang-tblgen
, 3.8 não.)Se você repetir isso para todas as versões do clang instaladas, poderá alternar entre elas usando apenas um único
update-alternatives
comando.(Enquanto isso, aparentemente, ainda existe um debate em andamento sobre a inclusão ou não desses links nos pacotes Ubuntu: https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493 )
fonte
Crie um arquivo .bashrc no seu diretório pessoal. Digite esta linha de código.
alias clang ++ = "clang ++ - 3.5"
Feche o seu terminal. Abra novamente. Em seguida, tente compilar seu programa novamente.
Pelo que sei, o clang não funcionará, a menos que você indique a versão no nome do comando "clang ++ - 3.5". Então, acabei de colocar o nome do meu arquivo .bashrc. Então eu só tenho que digitar "clang ++".
A propósito, eu baixei o clang 3.5, então ajuste o conselho anterior à sua versão.
fonte
Se o clang foi instalado corretamente, outra maneira muito fácil de evitar o problema de digitar o número da versão junto com o nome do programa é usar o recurso de preenchimento automático, por exemplo (com o clang ++ - 3.5 instalado):
Então você só precisa digitar
clang+
, pressionar Tabe Enter. Funciona da mesma maneira com nomes de diretórios, nomes de arquivos etc. (no entanto, isso não ajudará se você tiver mais de uma versão de um programa instalada.)fonte
Isso deve definir as alternativas de atualização para o clang- 4.0 se o clang- 3.8 (como no Ubuntu 16.04) estiver instalado:
fonte
Adicionando a resposta de Johann Wendin sobre ligação simbólica. Em um shell raiz, você pode vincular todas as várias ferramentas de clang de uma só vez:
por exemplo
e repita para:
Então tudo deve estar vinculado, não apenas uma pequena seleção. (Talvez eu ainda tenha esquecido alguma coisa).
Ele encontrará todos os arquivos de acordo com o padrão em / usr / bin, remova quaisquer números finais (-8 ou -9 ou até -10) e crie links simbólicos em cada um.
fonte