Using ARM64EC to build apps for Windows 11 on ARM devices
ARM64EC (“Emulation Compatible”) is a new application binary interface (ABI) for building apps for Windows 11 on ARM. With ARM64EC, you can build new native apps or incrementally transition existing apps to native performance on ARM. You can read more about ARM64EC on the Windows Developer blog.
Get started building Win32 apps as ARM64EC
To start building Win32 apps as ARM64EC, you'll need to install these prerequisites:
- The latest Windows Insider SDK build available through the Windows Insider program.
- Visual Studio Preview (version 16.11 preview 2 or later).
Once the Windows Insider SDK and Visual Studio Preview have been installed, follow these steps to add the ARM64EC platform.
In the Visual Studio Installer, add the ARM64EC tools by searching under Individual components and selecting the MSVC v142 - VS 2019 C++ ARM64EC build tools checkbox, currently marked as experimental.
With the tools and SDK installed, create a new C++ project or open an existing one.
If your project is using an older SDK or older version of MSVC, you'll need to retarget the solution to use the latest version of each.
To add the ARM64EC platform:
- In the Build menu, select Configuration Manager.
- In the Active solution platform box, select
<New…>to create a new platform.
- Select ARM64EC, Copy settings from x64, and check the Create new project platforms checkbox.
You can choose to leave parts of the solution as x64 as needed. However, the more code built as ARM64EC, the more code that will run with native performance on Windows 11 on ARM. For any external dependencies, ensure that your project links against the x64 or ARM64EC versions of those projects.
With the new solution platform in place, select Build in Visual Studio to start building ARM64EC binaries.