Port applications to Arm64 using Arm64EC
Introduction
Application
Porting using CMake
Porting using MSBuild
Next Steps
Port applications to Arm64 using Arm64EC
Who is this for?
This is an introductory topic for developers who want to learn how to port their applications to Arm64 using Arm64EC.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build a Qt-based Python desktop application.
- Create dependencies for C++ and use them in the Qt-based Python app.
- Learn how to port dependencies for C++ to Arm64 using Arm64EC.
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 .
- Any code editor. Visual Studio Code for Arm64 is suitable.
- Visual Studio 2022 with Arm build tools. For installation steps, see Install Visual Studio .
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 port a Qt-based Python desktop app with C++ DLL dependencies to Arm64 on Windows using Arm64EC. You’ll build the app, choose a CMake or MSBuild workflow, configure
CMakePresets.json or a Visual Studio project, and port DLLs incrementally while keeping compatible x64 dependencies in the same process.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.
Use the build system your project already uses. You’ll learn about both approaches in the Learning Path. If you followed earlier steps with CMake, continue with the CMake method.
Verify that your preset or project configuration sets the build target to Arm64EC and matches the example shown in the step. A successful build with that target confirms the configuration.
Edit
CMakePresets.json and add the final statement block so the file matches the provided example. Rebuild to produce the Arm64EC build of the DLL.Create the Console Application project and set the build target to Arm64EC. Use the specified project names and confirm the platform configuration before building.
Yes. Arm64EC allows x64 dependencies to load in the same process as Arm64 binaries, enabling incremental migration of components.