将 QT WebAssembly 与 Emscripten 关联
Posted
技术标签:
【中文标题】将 QT WebAssembly 与 Emscripten 关联【英文标题】:Associate QT WebAssembly with Emscripten 【发布时间】:2020-06-25 20:44:43 【问题描述】:我们用 Python 语言用 Qt 开发了一个桌面应用程序。我们希望将桌面版转换为网页版。
对于 Qt 5.13 或更高版本,有一个名为 WebAssembly 的插件,它使用 Emscripten 进行代码翻译。
问题
我们已经安装了 Qt 5.13 和 Qt 5.14,Web Assembly,但是我们无法让 Qt 识别 Emscripten。要么它不识别 Emscripten,要么,如果你识别它,你不理解 Emscripten 目录。
我们是否安装了 Emscripten 错误?我们需要知道任何细节吗?
快照
【问题讨论】:
您是否尝试手动设置emcc
和em++
的路径?
查看我的comment 类似的问题。它可能会有所帮助
【参考方案1】:
Qt for WebAssembly 是为 C++ 而不是 Qt for python,即使 python 可以在 WebAssembly 上运行,python 库很可能永远不会被移植到 WebAssembly,因为这是一个相当大的技术挑战,也是因为 Qt wasm 应用程序是静态链接的,这给 python 库带来了很大的问题。如果您的应用严重依赖 QML,您应该能够在浏览器中移植和运行您的应用。如果您想进行一些快速测试,您可以使用 Felgo WebAssembly 工具,例如 Web 编辑器 https://felgo.com/web-editor 或成熟的 Web IDE https://ide.felgo.com
【讨论】:
【参考方案2】:您必须在运行 QtCreator 之前运行:source /path/to/emsdk/emsdk_env.sh
,但如果有意义的话,请在相同的上下文中运行。
以下是如何解决此问题的示例
在您的 HOME 文件夹中创建文件em-qtcreator.sh
并执行以下操作:
#!/bin/bash
源 /path/to/emsdk/emsdk_env.sh
/path/to/qtcreator
现在,只需使用执行该脚本
chmod +x em-qtcreator.sh
./em-qtcreator.sh
这应该允许 QtCreator 自动检测 emscripten,否则您必须在构建配置中手动添加 emcc 编译器
【讨论】:
以上是关于将 QT WebAssembly 与 Emscripten 关联的主要内容,如果未能解决你的问题,请参考以下文章