断言失败:在 qt 的 qmake 文件中为链接器设置编译器标志,这样在 main() 函数退出后我们就不会出现 Uncaught Runtime 错误

问题描述 投票:0回答:1

我正在尝试使用 Emscripten 在浏览器上公开 UI(使用 qt 构建)。已编译的依赖项,并且能够将它们链接到 UI,它已成功编译,没有任何错误,但在执行时出现错误 Uncaught RuntimeError: abort(断言失败:运行时已退出(使用 NO_EXIT_RUNTIME 使其在之后保持活动状态) main() exits)) at Error ,所以我已明确向链接器标志提供 NO_EXIT_RUNTIME =1 ,但错误仍然存在,如何解决此问题。我构建的 UI 没有问题,因为我在 qt 提供的内置条形图示例中遇到了相同的错误。就我而言,浏览器上没有显示任何内容,但控制台中出现此错误。我在 UI 中使用线程,我使用 Web Worker 正确处理它们。

该错误是否是由于 qt 用于服务器页面的 emrun 导致的,它是否覆盖了 EXIT_RUNTIME?如果是,我们该如何解决?当我的主函数初始化完成时,在步骤 return 时出现此错误app.exec(),其中 app 是 QApplication 的一个对象。

Qt版本-Qt5.15,Emscripten版本1.39.8(兼容Qt版本),使用Chrome作为浏览器。

1.我需要设置什么标志才能解决这个问题。(我已经使用过 Assertion、asyncify、EXIT_RUNTIME,但无法解决该错误。 2.我已经使用终端执行了makefile,但仍然遇到相同的错误。

为什么会出现错误以及如何解决该错误。

qt runtime-error webassembly emscripten
1个回答
0
投票

你能打开一个针对 emscripten 的 bug 吗? 如果在命令行上明确设置,则

--emrun
不应覆盖
EXIT_RUNTIME

© www.soinside.com 2019 - 2024. All rights reserved.