【问题标题】:Undefined exported symbol with emscripten docker image带有 emscripten docker 图像的未定义导出符号
【发布时间】:2021-10-02 17:06:06
【问题描述】:

我错过了什么?

[ad@tank prolly]$ cat wam.c
int wam() { return 2; }

[ad@tank prolly]$ /usr/bin/docker run --rm -v $(pwd):/src emscripten/emsdk emcc --no-entry -s EXPORTED_FUNCTIONS=wam wam.c
emcc: error: undefined exported symbol: "wam" [-Wundefined] [-Werror]

我正在执行 EXPORTED_FUNCTIONS 位,因为 Javascript 也找不到该符号。浏览器控制台说:

Uncaught (in promise) TypeError: instance.exports.wam is not a function

之后:

  <script type="module">
    async function init() {
      const { instance } = await WebAssembly.instantiateStreaming( fetch("./wam.wasm"));
      instance.exports.wam();
    }
    init();
  </script>


【问题讨论】:

    标签: webassembly emscripten


    【解决方案1】:

    已排序。您必须输入-s EXPORTED_FUNCTIONS=_wam(带下划线),否则它不会导出它。希望还有一个--export-all,但它不被称为。然后instance.exports.wam(); 就可以了;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2023-04-10
      • 2018-08-02
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      相关资源
      最近更新 更多