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)
我错过了什么还是这是一个错误?
您可以使用-s TOTAL_MEMORY=32MB编译器标志在 emcc 链接时预设大小。相关问题:wasm-ld:错误:初始内存太小,需要18317952字节
有一个默认限制设置,设置为:16777216 https://github.com/emscripten-core/emscripten/blob/master/src/settings.js#L171