Build a Windows on Arm native application with clang
Introduction
Build a native windows application using LLVM for Windows on Arm
Next Steps
Build a Windows on Arm native application with clang
Who is this for?
This is an introductory topic for software developers doing native development on Windows on Arm computers.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Configure the native LLVM toolchain with Visual Studio to compile for Windows on Arm
- Build open-source PuTTY application for Windows on Arm using the native LLVM toolchain
Prerequisites
Before starting, you will need the following:
- A Windows on Arm computer, such as the Lenovo Thinkpad X13s running Windows 11, or a Windows on Arm virtual machine .
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll configure LLVM in Visual Studio on Windows on Arm and compile PuTTY with Clang. You’ll enable LLVM support, set up the CMake-based build, and install 32-bit x86 Strawberry Perl. You’ll then choose the correct compiler and target, and produce a native Windows on Arm PuTTY executable.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Install Visual Studio 2022 or higher and add LLVM support in Visual Studio. The steps assume that configuration is in place.
No. There’s currently no Arm version of Strawberry Perl, so install the 32-bit x86 version.
Build PuTTY as a CMake application with Clang from the LLVM toolchain for Windows on Arm.
Yes. You can use any Windows on Arm computer or a Windows on Arm virtual machine.
Visual Studio produces a native Windows on Arm PuTTY build with the LLVM toolchain.