emscripten生成的HTML文件打开时不起作用,必须预加载WASM二进制文件



我能够正确编译我的helloWorld.c文件:

#include <stdio.h>
int main(int argc, char ** argv) {
    printf("Hello Worldn");
}

使用命令:emcc helloWorld.c -s WASM=1 -o helloWorld.html

但是,当我打开文件 helloWorld.html时,页面上显示了以下错误:

在网络上,我们需要预装WASM二进制 模块['Wasmbinary']。emcc.py生成时会为您做到这一点 html(但不是JS(中止("在网上,我们需要wasm二进制 预加载并设置在模块['Wasmbinary']上。emcc.py会为此做 您在生成html时(而不是js("( 在jsstacktrace(file:///c:/workspaces/wasm/helloworld/helloworld.js:1001:13( 在StackTrace(file:///c:/workspaces/wasm/helloworld/helloworld.js:1018:12( 在atprot(file:///c:/workspaces/wasm/helloworld/helloworld.js:2414:44( 在getBinary(file:///c:/workspaces/wasm/helloworld/helloworld.js:1528:7( 在file:///c:/workspaces/wasm/helloworld/helloworld.js:1542:16

如何使我的应用程序正确加载?这里怎么了?

生成的hmtl文件旨在从Web服务器提供。如果您检查浏览器控制台,您可能会看到类似的错误:

提取API无法加载文件:///{您的wasm文件路径}。URL计划必须 是" http"或" https"的" https"。

使用本地Web服务器运行您的应用程序使用Emscripten命令emrun

emrun helloWorld.html

您也可能会在生产环境中看到此错误,在这种情况下,.wasm文件的请求可能已返回了非2000状态代码。

相关内容

  • 没有找到相关文章

最新更新