⚠️ Forum Maintenance: Feb 6th, 8am - 14pm (UTC+2)

Build Win32 desktop apps for Windows 10 ARM64

  • Hello,

    Is it possible to create Win32 native desktop apps for Windows 10 ARM64 using Qt?

  • @alexenv

    Hi and welcome to devnet forum

    Your question provides room for interpretation.

    If you have two different processor architectures requiring two different compilers the answer is No.
    If the very same compiler may be used for different architectures, yes.

    The first answer is probably the correct answer for your question.

    Qt libs are wonderful and superb, but they do not fully provide "witchcraft" to developers. However, you may do miraculous things with it ;)

    However, you can in most cases simply recompile an application developed on one platform with the proper tool chain. There are many cases documented in this forum of cross-compilation for different platforms.

  • I've found this patch: https://gist.github.com/tycho/3ce679850a03a39d8c174ac05af56214 and Qt seems to build just fine, but qmake & other tools are also built for ARM64, so I can't use the compiled version with Qt Creator on a x86 host.

    The winrt-arm-msvc2017 mkspec looks quite close to what I'm trying to accomplish, so I'll use it as a template for cross-compilation.

  • @alexenv

    You want to checkout this https://doc.qt.io/qt-5/build-sources.html

    As soon as you have a cross-compiler for a host to another platform you can basically compile Qt source. This will allow you to use Qt creator on your host and cross-compile for your target platform. Currently I am using Windows 10 64 bit and I am cross-compiling for Android.

    You can cross-compile on windows also for some embedded linux devices, when you have found a cross-compiler for linux working on windows. By stating that I am typically suggesting to use linux host in virtual box and cross-compile on linux for embedded linux. However, this is more how much pain you are willing to tolerate.

    Cross-compiling Qt source is basically generating a qmake which will be only suitable for your host and hold all the required settings for each cross-compiling run of your application. The change of toolchains within Qt creator is typically a couple of clicks and you are ready to recompile your application for the next target platform.

  • Hello guys. I was able to cross-build qt5-base part with vcpkg for arm64-osx, arm64-windows and arm-linux by using this patches: https://github.com/microsoft/vcpkg/issues/16922#issuecomment-1019371578

Log in to reply