我能够正确编译我的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状态代码。