为 Qt WebAssembly 编译虚拟键盘

Moi*_*oia 5 c++ qt virtual-keyboard qml webassembly

QtCreator我正在尝试从中编译虚拟键盘项目示例WebAssembly

要编译 wasm 库,必须静态链接。根据文档

静态构建

虚拟键盘可以针对应用程序进行静态构建和链接。这意味着 Qt 也是静态构建的(使用配置命令行中的 -static 选项)。

通过将 CONFIG+=static 添加到 qmake 命令行然后重建来启用虚拟键盘的静态构建。

虚拟键盘使用的一些第三方模块始终构建为共享库。这些模块是 Hunspell 和 Lipi Toolkit。

这么说,我正在尝试编译

mkdir buildwasm && cd buildwasm
/opt/Qt/5.15.2/wasm_32/bin/qmake .. CONFIG+=static CONFIG+=disable-hunspell && make -j8
Run Code Online (Sandbox Code Playgroud)

但不知何故键盘不是静态链接的,我收到此错误

wasm-ld: error: initial memory too small, 18699856 bytes needed
shared:ERROR: ...
Run Code Online (Sandbox Code Playgroud)

我错过了什么还是这是一个错误?

Mos*_*gey 2

您可以使用-s TOTAL_MEMORY=32MB编译器标志在 emcc 链接时预设大小。相关问题:wasm-ld:错误:初始内存太小,需要18317952字节

有一个默认限制设置,设置为:16777216 https://github.com/emscripten-core/emscripten/blob/master/src/settings.js#L171