Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Building Installation Package for ARM64 on x64
Forum Updated to NodeBB v4.3 + New Features

Building Installation Package for ARM64 on x64

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
windeployqtarm64
2 Posts 2 Posters 700 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mark.haas
    wrote on last edited by
    #1

    Hi,

    I have an existing setup to build a repo based on an application binary for x64, the native architecture on my Windows machine, but now I need to build for a Microsoft Surface that uses ARM64. When I went to set that up, I discovered there is no windeployqt.exe equivalent for the msvc2022_arm64 platform. Is that intentional? Is it missing, and I need to download it manually somehow? I installed msvc2022_arm64 and there just seems to be missing tools in the bin folder. Any advice would be appreciated.

    1 Reply Last reply
    1
    • Mr. KozmonM Offline
      Mr. KozmonM Offline
      Mr. Kozmon
      wrote on last edited by Mr. Kozmon
      #2

      I have been looking for the same thing, but unfortunately the Qt Company does not seem to offer a documentation on the subject just yet. I had to go through the Qt's source codes, but finally found a solution:

      Assuming your host OS is Windows x86_64 and you want to compile Windows arm64 packages for your project.

      1. Install both versions (arm64, x86_64) of Qt and MSVC (make sure you select arm64 packages when you are installing MSVC on Visual Studio Installer; not arm).
      2. Compile your project with the following commands (on cmd.exe):
        cd your_project_folder
        call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat"
        C:\Qt\6.8.0\msvc2022_arm64\bin\qt-cmake.bat -S . -B build-arm64 -G Ninja -DQT_HOST_PATH=C:\Qt\6.8.0\msvc2022_64 -DCMAKE_BUILD_TYPE=Release
        cmake --build build-arm64 --parallel --config Release
        

        Assuming you are using Ninja as the generator (but you can remove -G Ninja if you don't)

      3. Deploy your project with windeployqt by passing --qtpaths option like below (on cmd.exe):
        C:\Qt\6.8.0\msvc2022_64\bin\windeployqt.exe --qtpaths "C:\Qt\6.8.0\msvc2022_arm64\bin\qtpaths.bat" ...
        

      So we are using windeployqt.exe from the msvc2022_64 setup, but letting it use the msvc2022_arm64 setup while deploying the dependencies by passing the --qtpaths argument.

      I have built my project with that but was not able to test it on an arm64 machine yet, so please let us know if it works.

      Edit 1: Apparently this requires that your Qt installation do reside in C:\Qt path. If your Qt installation path is different than that, you may try to circumvent this problem by editing out the paths listed in ...msvc2022_arm64\bin\target_qt.conf file.

      Edit 2: There seems to be a bug in the Qt 6.8.0 win64_msvc2022_arm64_cross_compiled setup (i.e., I realized it when I installed it via the aqtinstall tool on my CI machine; but there was no such bug when I installed the same Qt setup to my personal computer using official Qt installation tool a few days back.) Make sure the path to your x64 setup inside the C:\Qt\6.8.0\msvc2022_arm64\bin\qtpaths.bat file is correct (edit the bat file if it contains the wrong path due to the bug I just mentioned).

      Hope it helps.

      1 Reply Last reply
      1

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved