Qt for wasm: 错误: 使用未声明的标识符 'QThreadPool'
Qt for wasm: error: use of undeclared identifier 'QThreadPool'
我正在尝试为Web Assembly构建我的桌面Qt应用程序,但我遇到了线程问题。
当我使用QThreadPool
时,我收到"使用未声明的标识符'QThreadPool'">错误消息。当我使用QThread
时没有错误消息,但在调用start()
时线程不会启动。
如何使用 Web Assembly 的线程编译 Qt 应用程序?
我不确定您现在究竟是如何编译的,但也许最好更新您的答案以准确显示您的 QT 版本和您的编译设置。
对我来说,WASM 似乎还不支持 QT 的许多功能,这是意料之中的!看起来他们仍在将大部分功能移植到 Web,这可能需要一些时间。
如果您检查 QTBUG-64700,您将看到线程支持尚不适用于 WASM(请参阅 pthread 问题 QTBUG-64625(。目前的 WebAssembly 设计计划表明,在实现类似 Pthread 的线程之前,这将需要几个月的时间。
有关 WASM QT 状态的更多信息,请查看他们的博客文章,其中还说明了当前未支持的功能,并展示了当前工作功能的一些示例。或者请参阅下文,了解当前主要问题的快速摘要。
不起作用的东西 QTBUG-63917(截至 2018/05/22(
多线程 QTBUG-64700
- 有一个存根 QThread
- 由于 Spectre 漏洞在浏览器中禁用
最QNetwork QTBUG-63920
- 由于JavaScript沙箱而没有DNS查找
- 简单的 QNAM 请求应该可以工作。
本地文件系统访问 QTBUG-67834
持久的QSettings,它同步配置相当慢和异步QTBUG-63923
QOpenGLWIdget QTBUG-66944
Opengl 只能全屏工作 QTBUG-67717
一些着色器 QTBUG-67338
- QResource 无法找到 Qt 内置的着色器
执行循环不像其他平台那样运行 QTBUG-64020
- exec(( 事件循环不会返回您期望的位置
- 已知从模态对话框返回值不起作用,但可以通过使用非模态信号和 show(( 来解决。尽管模式对话框/窗口仍将打开。
到大写 QTBUG-66621
QC唇板QTBUG-64638
我相信很快就会有更多的更新和改进,但看起来你将不得不等待!
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- #ifdef和未声明的标识符
- f2、f3、f4标识符未找到
- 设置 Visual Studio for MPI: 找不到标识符错误
- 未声明的标识符编译暗黑破坏神 2 程序"muleview"
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 如何让 GCC/Clang 在保留标识符上出错
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 使用说明符 extern 声明的C++中的标识符链接
- C++:枚举:错误:应使用标识符而不是"}"
- 为什么我们不能重复使用具有不同模板参数的别名模板标识符?
- Visual Studio C++ PlaySound 标识符未定义
- 为什么我们不编写可以处理C++标识符的汇编器和链接器?
- 使用未声明的标识符"sqrt"?
- 找不到标识符合并
- 在模板化函数中重新定义(忽略)的 SWIG 标识符
- 在 c++ 中找不到此函数的标识符
- Qt for wasm: 错误: 使用未声明的标识符 'QThreadPool'