Nós já fizemos essa postagem sobre instalar Clang, mas se tornou obsoleta. Nesse rápido artigo veremos como fazer isso facilmente.
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)
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
--id=LLVM.LLVM
Versão oficial da Microsoft e LLVM.
clang
, clang++
(compiladores C/C++)lld
(linker)lldb
(debugger)clang-format
, clang-tidy
, etc.Mais usada para:
Por padrão, usa a toolchain do Visual Studio (MSVC) como backend no Windows (para linkagem, runtime, etc).
--id=MartinStorsjo.LLVM-MinGW.UCRT
Mais usada para:
Inclui:
clang
, lld
, libc++
, libunwind
, headers/libraries MinGW (com UCRT)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) |
LLVM.LLVM
MartinStorsjo.LLVM-MinGW.UCRT
.clang llvm windows linguagemc cpp