Eu tenho tentado por 3 dias para instalar o clang 5.0 em uma máquina Ubuntu 16.04. Eu tentei vários guias , mas nada parece funcionar. Quando tento simplesmente pegar as últimas do SVN e compilar / instalar (conforme detalhado aqui ), tentar compilar um programa simples leva a:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
Tentei definir o -DGCC_INSTALL_PREFIX
sinalizador para cmake
antes da compilação, mas isso leva a um erro ainda melhor:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
As etapas que eu tenho seguido são (no guia acima):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
Alguém poderia me tratar como um idiota e explicar passo a passo como instalar o clang 5.0? Ou me aponte para um guia que até os tolos básicos como eu podem seguir? Se você também puder explicar como criar e instalar o libc ++ para C ++ 17, ficaria eternamente grato.
Atualização : Parece que não estou instalando o clang corretamente, pois esta é a saída de uma compilação detalhada com o clang:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
e esta é a saída para g ++:
#include <...> search starts here:
/usr/include/c++/5
/usr/include/x86_64-linux-gnu/c++/5
/usr/include/c++/5/backward
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
...
dpkg -l libstdc++-5-dev | tail -1
build-essential
instalou?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Respostas:
Instale o clang-5 a partir dos repositórios llvm.org
Primeiro, devemos adicionar os repositórios llvm.org às nossas listas de fontes, a linha que devemos adicionar é:
Abra o nano e adicione a linha acima a este arquivo:
Adicione a chave do repositório, ela
apt
poderá verificar os pacotes baixados.Depois disso, atualize suas listas:
Em seguida, instale o clang-5:
Deveria funcionar.
Se você deseja obter uma lista de todos os pacotes disponíveis deste repositório adicionado recentemente:
Isso lhe dará uma lista como:
Você pode instalar o que quiser.
Pode ajudar seu problema de compilação
O arquivo de cabeçalho mencionado não existe no seu erro:
stdarg.h
faz parte dolibstdc++-5-dev
pacote.Eu tenho esse pacote na minha máquina, então se eu executar:
Eu vou receber:
Parece que a instalação do
build-essential
pacote deve solucionar esse erro, porque não tenho certeza do que você fez.fonte
build-essential
instalei. Mas a saída para o meuaptitude why libstdc++-5-dev
é exatamente a mesma que a sua, exceto que não há uma linha essencial para a construção.