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:

Once the Windows Insider SDK and Visual Studio Preview have been installed, follow these steps to add the ARM64EC platform.

  1. 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.

    Visual Studio Installer ARM64EC checkbox screenshot

  2. With the tools and SDK installed, create a new C++ project or open an existing one.

    Note

    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.

  3. 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.

    Visual Studio Installer New ARM64EC Platform screenshot

    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.

  4. With the new solution platform in place, select Build in Visual Studio to start building ARM64EC binaries.