使用WebAssembly在Rust中尝试Hello World时出现LinkError

时间:2017-09-16 22:13:48

标签: javascript rust webassembly

我正在尝试使用WebAssembly运行Rust生成的hello world程序,但是当我尝试加载程序时,我收到一条错误消息。

当我发现我发现的一些教程时,我能够让它运行,问题是他们使用Emscripten创建JavaScript和HTML来加载代码,但是这个JavaScript和HTML包含大量的样板和其他东西。我有点失落,而是想尝试得到一个非常简单的例子,我正在装载自己。

我运行以下命令来编译hello.wasm

echo 'fn main() { println!("Hello, Emscripten!"); }' > hello.rs
rustc --target=wasm32-unknown-emscripten hello.rs

要加载hello.wasm,我从Mozilla WebAssembly文档中获取了示例并试图运行它。

var importObject = {
  imports: {
    imported_func: function(arg) {
      console.log(arg);
    }
  }
};

fetch('hello.wasm').then(response =>
  response.arrayBuffer()
).then(bytes =>
  WebAssembly.instantiate(bytes, importObject)
).then(results => {
  // Do something with the compiled results!
});

WebAssembly.instantiate崩溃:

LinkError: Import #0 module="env" error: module is not an object or function

我发现这个错误与错过的东西有关,应该加载样板代码,但通过自动生成的HTML和JavaScript查看我无法确切知道它可能是什么。

0 个答案:

没有答案