为了使Qt在WoA上能够良好运行,我们投入了相当多的工作,特别是在一些方面付出了相当大的精力。现在,您可以在x64Windows机器上使用Qt进行开发,并将Qt应用程序部署到WoA目标设备上。这意味着应用程序必须在x64Windows机器上构建,然后部署到WoA目标设备。这种方法已经处在技术预览阶段,但我们仍缺少诸如QtCreator的适当工具和合适的部署策略等功能。这也是因为原生底层工具没有向我们提供可用的接口。
同时,使用ARM64 Windows机器的用户更倾向于在这些WoA机器上开发应用程序。不同于手机或嵌入式设备,这些WoA机器可以作为开发主机使用。
计划
我们除了将WoA作为部署目标之外,还计划使其作为开发主机实现全面支持。
使用ARM64机器直接进行应用程序开发正是用户的大势所趋。
可选方案
为ARM64构建Qt的方法与为x64机器构建Qt没有太大区别。用户只需在他们的ARM64设备上安装Visual Studio 2022(17.4 或更高版本),然后使用ARM64 MSVC developer prompt(开发者命令行)配置Qt,接着使用ninja构建。
在您的ARM64设备上安装Visual Studio 2022(包括ninja)和git
打开ARM64 Native Tools CommandPrompt for VS 2022或者在cmd命令行/Windows Terminal中调用<Path to Visual Studio>(Visual Studio安装目录)\VC\Auxiliary\Build\vcvarsall.batarm64。
从git://code.qt.io/qt/qt5.git克隆至 <Qt Source Dir>(Qt源目录)
按照《Building Qt 6 from Git》指南中的说明进行操作
这样构建Qt的结果可以用于任何Qt应用程序。为此,<Qt Install Dir>/bin中的qt-cmake.bat是一个很好的辅助脚本。只需调用qt-cmake.bat,然后输入ninja/cmake --build即可构建您的Qt应用程序。
您可以使用这种方法构建QtCreator,也可以使用Qt官方在线安装程序安装Qt Creator。使用后者,您将获得一个仿真的Qt Creator,但这足够能让您快速了解如何使用ARM64 Qt。
在这两种Qt Creator版本中,您可以注册您的Qt版本并相应地设置工具包。有了这些,您应该能够在ARM64设备上的原生环境中开发适用于Windows的Qt应用程序。
尚未支持
在您的ARM64 Windows设备上使用Qt Creator时可能会遇到一些问题,但大部分功能应该可以正常使用。
目前,我们在持续集成(CI)基础设施中并未测试原生WoA软件包。我们正在构建解决方案,并希望尽快更新。
由于我们的CI系统也用于构建Qt软件包,目前我们还没有为Windows on ARM提供原生安装包(通过Qt维护工具安装)。一旦完成WoA构建的CI系统工作,这一情况应该会改善。
最后,我们还缺少适用于Windowson ARM的原生安装程序。由于安装程序与CI共同构建,因此这里和之前提到的情况一样。
我们还在考虑是采用ARM64还是ARM64EC作为我们的“原生ARM64架构”。ARM64EC在处理依赖关系方面可能会提供更多灵活性,而且性能影响可能不会太大。不过,我们在这个问题上还需要进行更多研究。也许我们会在即将到来的博文中更详细地讨论这个问题。
总结
总的来说,Qt在Windows on ARM上基本实现了原生支持。虽然您需要自行构建Qt,但可以构建并在ARM64设备上运行原生Qt应用程序。然而,我们仍将不断努力提高开发者体验,保持Qt产品一脉相承的质量标准。