Golang から WASM へのコンパイル エラーと解決策
コマンド GOOS=js GOARCH=wasm go build を使用して Go コードを WebAssembly (WASM) にコンパイルする-o main.wasm は、wasmtime および wasm3 で実行するとエラーが発生する可能性があります。
wasmtime のエラー:
Error: failed to run main module `main.wasm` Caused by: 0: failed to instantiate "main.wasm" 1: unknown import: `go::debug` has not been defined
wasm3 のエラー:
Error: function lookup failed ('_start')
エラーの意味:
エラーの修正:
次の解決策でこれらのエラーを解決できます:
wasm_exec.js で Node.js を使用します:
次のコマンドを実行します:
node wasm_exec.js main.wasm
Tinygo でコンパイルします (WASI サポートあり):
次のコマンドを使用します:
tinygo build -target=wasi -o main.wasm main.go
これにより、wasmtime で実行できる WASM モジュールが作成されます。
Go で実験的な WASM サポートを有効にします:
次のコマンドを使用して Go をソースからコンパイルします:
go install golang.org/dl/gotip@latest gotip download
次に、次のコマンドを使用して WASM にコンパイルします:
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
これにより、Go での WASM の実験的サポートが有効になり、wasmtime を使用してモジュールを直接実行できるようになります。
以上がGolang から WASM へのコンパイル エラーの原因と解決方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。