javascript - 尝试在 `emcc -s ONLY_MY_CODE` 时设置不存在的设置
问题描述
我目前正在学习 WASM,并且一直在关注Google 的教程,它告诉我使用以下命令:
-s WASM=1 -s ONLY_MY_CODE=1 -s EXPORTED_FUNCTIONS="['_board_init','_board_ref','_board_step']" \
-o output.js *.c
但是,我得到了错误提示:
emcc: error: Attempt to set a non-existent setting: 'ONLY_MY_CODE'
- perhaps a typo in emcc's -s X=Y notation?
- (see src/settings.js for valid values)
版本:emcc:2.0.1
操作系统:Mac 操作系统
实际上,以上是我遇到的第一个问题,可能导致另一个问题。我在没有选项的情况下运行命令-s ONLY_MY_CODE
,然后在 js 文件中加载并实例化 .wasm。运行网页后,我从控制台收到另一条错误消息:
Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #0 module="env" function="emscripten_resize_heap" error: function import requires a callable
希望有WASM经验的人能给我一些见解。
感谢您的时间。
解决方案
在emcc v1.38.47之后,不再支持 ONLY_MY_CODE 选项。请改用 STANDALONE_WASM。
我想下面的代码应该适合你;
-s WASM=1 -s STANDALONE_WASM -s EXPORTED_FUNCTIONS="'_board_init','_board_ref','_board_step']" -o output.js *.c
推荐阅读
- python - 为什么我的 python 应用程序没有转换为可执行文件?
- python - Python PIL 降低 alpha 级别,但不更改透明背景
- javascript - 如何清除画布属性和事件并将其添加回fabricjs?
- linux - Linux 进程/线程可以在不通过 do_exit() 的情况下终止吗?
- rust - 在substrate中声明一个hashmap(storageMap)
- python - 导入“statsmodels.api”包时,Django API 不断加载并引发超时错误
- node.js - 如何在快速验证中添加 if 条件 6
- vue.js - 在 vue 3 中使用 vite 引用数据属性或方法中的资产
- javascript - 如何相对于其父级的父级移动元素
- sql - 如何识别在使用 JSON 和 Node JS 插入多条记录时出现错误的记录