Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Как собрать библиотеки Qt UWP (WinRT) под архитектуру ARM (32/64 бита) в Windows при помощи компилятора из VisualStudio ?



  • Со сборкой под UWP x64 проблем нет. А вот под ARM ничего не удаётся. По аналогии с x64 билдом делаю следующее:

    1. Настраиваю окружение, вызывая C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Auxiliary/Build/vcvarsall.bat с параметром amd64_arm
    2. Конфигурирую сборку таким образом: ./configure.bat -xplatform winrt-arm-msvc2019 -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -skip qtwebengine -prefix C:\Qt\5.13.1\winrt-arm-msvc2019-custom

    В конце сборки базовых утилит линкер ругается: fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'x64'

    Что я делаю не так?

    p.s. в VisualStudioInstaller тулзы для "разработки мобильных приложений" установлены, включая NDK для armeabi-v7a и arm64-v8



  • Опишу как решилась проблема, может кому пригодится:

    1. Запускать надо не vcvarsall.bat с параметром amd64_arm, а vcvars32.bat или vcvars64.bat, иначе qmake соберется не под хостовую платформу.
    2. Необходимо через VisualStudioInstaller установить "Поддержка универсальной платформы Windows C++ для средств сборки версии XXX (ARM64)"

Log in to reply