Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Web程序集应用程序和Next.JS:句柄未定义_Qt_Next.js_Webassembly_Emscripten - Fatal编程技术网

Qt Web程序集应用程序和Next.JS:句柄未定义

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

我正在尝试在Next.js应用程序中嵌入Qt5.15.2Web组装应用程序。当通过
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"'
}