Qt for WebAssembly 在浏览器中运行Qt应用程序

https://wiki.qt.io/Qt_for_WebAssembly

安装 Emscripten SDK

从GitHub下载emsdk

https://github.com/emscripten-core/emsdk

Qt版本和Emscripten版本的对应关系参考文首的链接。

安装1.38.27版本的Emscripten

1
./emsdk install sdk-fastcomp-1.38.27-64bit

编译Qt源代码

下载Qt5.14源代码http://download.qt.io/archive/qt/

配置源代码

1
./configure -xplatform wasm-emscripten -nomake examples -prefix $PWD/qtbase

编译

1
make module-qtbase module-qtdeclarative [other modules]

编译和运行应用程序

对自己编写的应用程序进行编译

1
/path/to/qtbase/bin/qmake && make

编译后会生成以下文件

1
2
3
4
5
Name	        Description
appname.wasm Main application binary
appname.js Emscripten JavaScript runtime
appname.html Html container
qtloader.js Qt JavaScript runtime

启动Web服务器,比如python3 -m http.server

然后在浏览器中输入Web服务器地址,就能访问Qt应用程序。