Clang é um compilador(front-end) para as linguagens C, C++, Objective-C e Objective-C++ que utiliza o LLVM como back-end .
Tem como objetivo ser mais uma alternativa ao GCC, o conjunto de compiladores do GNU.
Baixe a versão mais recente aqui, o nome do pacote deverá ser: clang+llvm-<VERSION>-x86_64-linux-gnu-ubuntu-18.04.tar.xz
(apesar de ter o nome ubuntu
e uma versão antiga, funciona para qualquer distro), de acordo com a data de publicação desse artigo, a versão mais recente é a 15.0.6
, exemplo:
O pacote tem diversos binários, incluindo o
clang
eclang++
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Extraia:
tar xJf clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Mova para /opt
renomeando para o diretório com nome mais curto, exemplo: clang
sudo mv clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/ /opt/clang
Exporte para sua $PATH
echo 'export PATH="${PATH}:/opt/clang/bin"' | sudo tee -a /etc/profile
source /etc/profile
Teste:
vim main.cpp
#include <iostream>
int main( int argc , char **argv ){
std::cout << "Hello, World!\n";
return 0;
}
Compile:
clang++ main.cpp
Aproveite e conte essa nova instalação para sua GNU Glibc, fazendo o seguinte:
libs.conf
e insira o caminho da lib
para ela:
vim libs.conf
E cole o caminho abaixo dentro desse arquivo:
/opt/clang/lib
sudo mv libs.conf /etc/ld.so.conf.d/
sudo ldconfig
E seja feliz! 😃
Principalmente você que usa Gentoo e NÃO vai mais precisar compilar o Clang toda vez que há uma nova versão!!! Demora pakas! 😛