[英]Emscripten WASM in web worker: “module is not an object or function”
[英]Unknown error num `5508328` of emscripten compiled wasm
我有一个 C++ 项目,我想将它编译成 WASM 并在 js 中使用。 该项目将被编译并以这种方式使用 cli:
./CLI -m model_file_path -f format -output_dir./
第一步,我只是编译这个 CMake 项目:
emcmake cmake ..
我得到了CLI.js
和CLI.wasm
,直接在 Node 中运行:
node CLI.js -m model_file_path -f format -output_dir./
它确实得到了与 C++ Cli 相同的结果。
所以我再次编译它,但使用modularize
:
而我在JS中使用,我先将前端web选中的文件写入到emscrpten虚拟文件系统中:
// uint8_arrs[0] are byte arrays converted from `inputModelFile.raw`, choosed by user.
module['FS'].writeFile('./original_model', uint8_arrs[0]);
然后我将 args 合并为args = ["-m", "./original_model", ...]
,调用主入口:
module.callMain(args)
但是我在 catch 中遇到了奇怪的错误:
try{
module.callMain(args)
}catch (e) {
console.log(e);
success = false;
ret = e;
}
错误:
5508328
是什么意思? 谢谢。
我想到了:
args
有一个选项-l
,我只推一个 integer。 应该使用它的字符串。
number.toString()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.