[英]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.