Clang/LLVM system requirements for Windows

16 Jul 2017

The short answer is that the binaries on llvm.org are currently designed to work on Windows 7 and newer; the last version to support XP/2003/Vista is 3.7.1. However, that's not the whole story.

What's included and what's not included

The llvm.org binaries include a compiler, linker, and not a whole lot more. Some tools you'll likely want aren't there - for example, make. It also doesn't include a C runtime library, or any of the headers and libraries needed to create Windows applications. So the system requirements that actually exist depend on the rest of the toolchain you'll want to use.

Requirements on development host

There are many ways to install Clang on Windows, but the route I chose to use is the simplest: install MinGW, then install LLVM, then add LLVM to the beginning of the path. This means that it's using the CRT, includes and libraries included in MinGW, with the Clang compiler.

Unfortunately MinGW isn't terribly clear about its system requirements either. Using the bootstrap installer as of this writing did work on Windows Server 2003, but that could be obsolete by the time you read this.

Requirements on deployment target

In a strict sense, Clang imposes no requirements on the deployment target. Any constraints are imposed by the libraries used, including the CRT used. Using the CRT in MinGW, as of this writing, generated an NT 4.0 compatible binary.

MiniCRT also works with the Clang compiler and can be deployed back to NT 3.1. The linker will apply any subsystem version specified, so be sure to specify "--subsystem:console,3.10" or similar as required.