我正在尝试为Web Assembly构建桌面Qt应用程序,但是遇到了线程问题。
当我使用QThreadPool
时,出现“使用未声明的标识符'QThreadPool'” 的错误消息。当我使用QThread
时,没有错误消息,但是调用start()
时线程没有启动。
如何为Web Assembly编译带有线程的Qt应用程序?
答案 0 :(得分:1)
我不确定您现在的编译方式如何,但是最好更新您的答案以确切显示您的QT版本和编译设置。
在我看来,WASM尚不支持QT的许多功能,这是可以预期的!看来他们仍在将大多数功能移植到Web上,这可能需要一些时间。
如果选中QTBUG-64700,将会看到WASM尚不支持线程支持(请参阅pthread问题QTBUG-64625)。 current WebAssembly design plan建议距离实现类似Pthread的线程还需要几个月的时间。
有关WASM的QT状态的更多信息,请查看their blog post,其中还说明了当前未使用的功能,并显示了一些当前可用功能的示例。或者,请参见下面的有关当前主要问题的快速摘要。
多线程QTBUG-64700
大多数QNetwork QTBUG-63920
本地文件系统访问QTBUG-67834
持久的QSettings,它相当慢且异步地QTBUG-63923
同步配置QOpenGLWIdget QTBUG-66944
Opengl仅在全屏QTBUG-67717上可用
一些着色器QTBUG-67338
exec循环的功能不像其他平台QTBUG-64020
toUpperCase QTBUG-66621
QClipboard QTBUG-64638
我相信很快就会有更多的更新和改进,但是看来您将不得不等待!