回帖:说下关于Qt6的构建进度。(2024/3/18 更新Windows on ARM)
0. 全平台
-- 上传的版本是strip的,为了减少程序大小。
1. 在Windows上,我仅会构建VS2019(及以上)和MinGW-w64版本,仅有64位。
-- VS2019 x86_64和MinGW-w64 x86_64已经OK,现在已经上传并已经投入个人其他项目的使用了。
-- arm64版本咕咕咕到6.2.0,现在应该可能可以编译过,还没有尝试。
-- 目前个人手里没有arm64的参考设备,且没有入手Microsoft Surface Pro X的打算。不会进行任何测试及实际项目使用。
---- 除非有dalao资助我购买Surface Pro X(硬件)或者Parallels Desktop(M1 Mac上的软件),树莓派之类的就不要了,我自己有
-- arm64版本因为只能交叉构建,所以需要一个现成的构建好的host版本,而且VS2019版本的arm64交叉构建是需要是VS2019的静态版的。
---- VS2019静态版目前有编译问题(as of 2021/12/5),需要咕咕咕到6.2.3。
-- (2024/3/18)本人购置了 Surface Pro 9 5G,并且 VS2022 开始支持 ARM64 开发,可以提供 VS2022 的主机编译ARM64架构的版本了
---- 经编译尝试,ARM64版不支持QtWebEngine(包括Qt 5),已全部skip
2. 在macOS上,暂时仅有x86_64版,arm版目前还没有适配完毕,Qt官方声明是6.2.0版本官方支持。
-- x86_64版现在已经编译成功,脚本已经搞定,已上传。
-- arm64版本已经编译成功,不过没有写脚本,目测和x86_64版本的脚本没什么区别。
---- 不过由于Qt官方没有适配完毕,所以是否真正可用需要等6.2.0官方支持后大家进行测试。
---- (截至2021/6/11)Mac上的homebrew提供了arm版本的Qt5.15.2和Qt6.1.0,可以供各位使用
------ 不过这个具体是不是homebrew自己打过一些Patch的我没有调查过,本帖子的项目是原版Qt,不会提供打过Patch的Qt版本
-- 个人的arm64 mac因重度使用,环境已经相当dirty。由于macOS的chroot不是特别容易搭建,我还不想重装系统,需要购买一个全新的mac mini来进行作业。(看双十一能不能降价吧,咕咕咕)
---- (2021/12/5)arm64 mac mini已入手,环境暂时没有配,等配好环境后再更新。
---- (2021/12/7)arm64 mac mini已配置好环境,发现QtWebEngine附带的PDF没有构建。经检查所有的QtPdf都没有构建,重新构建中。今天可以和大家见面了
3. 桌面版Linux仅作为交叉编译的host使用,和此前相同。
-- 将会有一个static lite版本作为静态编译的host工具,和此前一样使用RockyLinux 8发行版构建。
4. 安卓上,会和5.12系列类似,发布4个架构的版本,而不是像5.15那样所有架构合成一个。原因是CMake只支持同时构建一个架构。
-- 安卓target已经编译通过,目前CMake和qmake都好用
目前发现的问题:
默认安装的Qt不包含host工具,qmake和qt-cmake都是脚本并包含编译期host工具的绝对路径。我在打包的时候会将Qt的host工具也进行打包,不过目前仅在安装后修改了qmake脚本并已经确认好用,CMake脚本暂时还没有进行调整。
(CMake的调整可能需要在我实际开发Android项目后再进行确认。。。可能需要代入Qt Creator,毕竟Qt 5时期就只能这么干)
5. WebAssembly上,官方已经明确6.0系列暂不支持,将会咕咕咕到6.2.0之后。
-- 不知道是否会有Android上的一系列问题,需要发布后再进行调查。
-- 由于WebAssembly的工具链一直在更新,版本之间的源码和二进制兼容性没有具体验证过
---- 所以到时候具体用什么版本的emscripten需要等到时候再通过Qt Wiki查询。
-- Qt 6.2.0 rc版WebAssembly的工具链版本确定为2.0.14。(Qt Wiki未更新,查看Qt编译的二进制包得知)
-- Qt 6.2.0 rc2已经更新并编译出WebAssembly版本。
-- 各个版本的Qt对应emsdk版本:
---- Qt 5.15:emsdk 1.39.8
---- Qt 6.2:emsdk 2.0.14
---- Qt 6.5:emsdk 3.1.25
---- Qt 6.7:emsdk 3.1.50
6. 其他平台暂不做社区支持。