Como Instalar a Nova Versão do Clang/LLVM no Windows
Nós já fizemos essa postagem sobre instalar Clang, mas se tornou obsoleta. Nesse rápido artigo veremos como fazer isso facilmente.
Instalação
Se você chegou a instalar a versão do outro artigo
Antes de mais nada remova o diretório e também o caminho para a variável de ambiente.
Abra o PowerShell com privilégios de administrador.
Remova a instalção:
Remove-Item -Path "C:\Users\$env:USERNAME\.utils" -Recurse -Force
Remova a variável de ambiente:
[Environment]::SetEnvironmentVariable("Path", (
($env:Path -split ";") -ne "C:\Users\Marcos\.utils\llvm-mingw\bin" -join ";"
), [System.EnvironmentVariableTarget]::Machine)
Instalação do Clang/LLVM MinGW
Essa versão não depende do MSVC.
Basta usar o WinGet
winget install --id=MartinStorsjo.LLVM-MinGW.UCRT -e
Ainda com permissão de administrador, rode esse comando:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\LLVM\bin", "Machine")
Feche o terminal, abra novamente e verifique a versão:
clang++ --version
Há também a versão para o MSVC, mas pra possuir as duas instaladas você precisa alterar o nome do caminho de uma das duas e adicionar também a PATH
, basta usar o comando do WinGet.
winget install --id=LLVM.LLVM -e
Se teve conflito, desinstale:
winget uninstall --id=LLVM.LLVM
Diferença entre as versões
--id=LLVM.LLVM
Versão oficial da Microsoft e LLVM.
- Instala o LLVM oficial distribuído pela LLVM Foundation.
- Inclui ferramentas como:
-
clang
,clang++
(compiladores C/C++) -
lld
(linker) -
lldb
(debugger) -
clang-format
,clang-tidy
, etc.
-
Mais usada para:
- Desenvolvimento C/C++ moderno no Windows, Linux ou macOS.
- Substituir o MSVC (Visual C++) em projetos multiplataforma.
- Quando se quer compilar para Windows nativo com Clang + MSVC.
Por padrão, usa a toolchain do Visual Studio (MSVC) como backend no Windows (para linkagem, runtime, etc).
--id=MartinStorsjo.LLVM-MinGW.UCRT
- Instala a distribuição LLVM-MinGW, mantida por Martin Storsjö.
- Usa Clang + linker + runtime MinGW (não depende do Visual Studio).
- Baseada na UCRT (Universal C Runtime), o que torna as executáveis mais modernos e compatíveis.
Mais usada para:
- Compilar aplicativos Windows usando LLVM sem precisar do Visual Studio.
- Produzir binários completamente livres de dependências do MSVC.
- Ideal para desenvolvimento cross-platform, automações CI/CD e compilação cruzada (ex: compilar Windows a partir do Linux).
Inclui:
-
clang
,lld
,libc++
,libunwind
, headers/libraries MinGW (com UCRT) - Ferramentas pré-configuradas para compilar direto para Windows
Comparativo rápido:
Característica |
LLVM.LLVM (Oficial) |
LLVM-MinGW.UCRT (Martin Storsjö) |
---|---|---|
Mantido por | LLVM Foundation | Martin Storsjö |
Backend padrão no Windows | MSVC (Visual Studio) | MinGW + UCRT |
Requer Visual Studio? | Sim (para linkagem, por padrão) | Não |
Target principal | Windows (com MSVC) | Windows (sem MSVC) |
Uso típico | IDEs como VSCode com Clang | Cross-compiling, builds portáveis |
Licença | Permissiva (LLVM) | Permissiva (LLVM + MinGW UCRT) |
-
Se você já usa o Visual Studio ou quer integração com o ecossistema MSVC: Use
LLVM.LLVM
-
Se você quer uma toolchain completa e independente do MSVC (especialmente útil para scripts, CI/CD ou compilações cruzadas): Use
MartinStorsjo.LLVM-MinGW.UCRT
.