Qt Web程序集应用程序和Next.JS:句柄未定义
我正在尝试在Next.js应用程序中嵌入Qt5.15.2Web组装应用程序。当通过Qt Web程序集应用程序和Next.JS:句柄未定义,qt,next.js,webassembly,emscripten,Qt,Next.js,Webassembly,Emscripten,我正在尝试在Next.js应用程序中嵌入Qt5.15.2Web组装应用程序。当通过qtloader.js加载到一个简单的HTML页面时,Qt应用程序运行良好,但当作为ES6模块构建并加载到React组件时,它会崩溃 Qt应用程序WASM加载良好,应用程序启动。当Qt回调Emscripten(v1.39.8)公开的stringToUTF16JavaScript函数时,它崩溃: Qt应用程序是使用以下Emscripten标志构建的: wasm { QMAKE_LFLAGS += '-s U
qtloader.js
加载到一个简单的HTML页面时,Qt应用程序运行良好,但当作为ES6模块构建并加载到React组件时,它会崩溃
Qt应用程序WASM加载良好,应用程序启动。当Qt回调Emscripten(v1.39.8)公开的stringToUTF16
JavaScript函数时,它崩溃:
Qt应用程序是使用以下Emscripten标志构建的:
wasm {
QMAKE_LFLAGS += '-s USE_ES6_IMPORT_META=0 -s EXPORT_ES6=1 -s MODULARIZE=1 -s ENVIRONMENT="web"'
}
并加载到反应组件中,如下所示:
import React,{useRef,useffect}来自“React”
从“./MyApp”导入MyApp
从“./MyApp.wasm”导入MyAppWASM
导出默认函数MyAppCanvas({props}){
const canvasRef=useRef(空)
useffect(()=>{
MyApp({
qtCanvasElements:[canvasRef.current],
位置文件:()=>{
返回MyAppWASM
},
}).然后((实例)=>{
console.log('MyApp-Loaded')
})
})
返回(
e、 preventDefault()}
宽度=“100%”
高度=“100%”
ref={canvasRef}
{…道具}
>
)
}
任何关于
stringToUTF16
的未定义句柄的提示都是非常受欢迎的!谢谢我已经在GitHub上发布了示例代码:它现在包含了问题的解决方案(可能不是最好的解决方案…)
wasm {
QMAKE_LFLAGS += '-s USE_ES6_IMPORT_META=0 -s EXPORT_ES6=1 -s MODULARIZE=1 -s ENVIRONMENT="web"'
}