mkdir build && cd build cmake .. -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl cmake --build . Note: clang-cl is a drop-in driver that accepts most MSVC cl.exe flags. This makes porting existing build scripts trivial. The single best reason to use Clang on Windows is LLD .
# In a VS Developer Command Prompt clang-cl --version # Output: clang version 17.0.3 Target: x86_64-pc-windows-msvc echo int main() {} > test.cpp clang-cl /EHsc test.cpp /Fe:test.exe test.exe windows clang
Traditional MSVC linking of a large C++ project (say, Chrome or Unreal Engine) can take minutes. LLD reduces that to seconds. mkdir build && cd build cmake
set CC=clang-cl set CXX=clang-cl CMake is the universal bridge. Create a CMakeLists.txt and build: This makes porting existing build scripts trivial
But over the last five years, a quiet revolution has taken place. is no longer a "Linux cross-compiler" for Windows; it is a fully supported, production-ready, native toolchain.
The days of treating Clang as a "Unix compiler" are over. On Windows, Clang is a professional, performant, first-class citizen. Give it a week in your CI pipeline—you won't go back. Have you migrated a large Windows codebase to Clang? Share your build time improvements and horror stories in the comments below.