当我使用emcc将C代码编译为wasm时,我在firefox javascript控制台中得到以下错误信息:
: wasm validation error: at offset 8: binary version 0x1 does not match expected version 0xd index.html:31:24
我不知道是什么导致了这个错误你能给我解释一下吗?
最佳答案
我已经回答了你的问题,在这里转载。
我是中国男孩,英语不好,如果我说错了,请不要记起。
你的语言很好,不用道歉我们中的许多人也不是以英语为母语的人
我相信你遇到的问题是WebAssemblyon github旧的工具链和浏览器期望版本0xD
作为预发行版本他们现在期望版本0x1
。
因此,您将进入预发布和初始发布之间的过渡期你的浏览器在你使用的工具链后面。
你能指定你使用的浏览器版本和工具链版本吗不仅仅是“开发者版”,还有确切的发布信息。
当所有内容都更新到发布版本时,问题将自行解决这是最初发布的一个不幸的副作用。
在is moving to version 1中,binaryen被更新为0x1
从这里你可以找到你的二进制版本Emscripten用this commit把这个版本引入了它的incoming
分支至少在提交之后,您需要使用它的传入分支来获取标记为1.37.3的0x1
二进制文件早期的Emscripten将生成0xD
二进制文件。
浏览器也会以同样的方式更新如果Firefox developer edition需要0xD
,请每晚尝试在这种过渡情况下,更改要匹配的工具链或浏览器版本可能更容易。
关于c - :wasm验证错误:偏移量8:二进制版本0x1与预期的版本0xd index.html:31:24不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42592318/