問題タブ [wasm-pack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - clang を使用して C++ ライブラリを wasm にコンパイルすると、「stdlib.h」ファイルが見つからないというエラーで失敗しました
このサンプルコードを錆から wasmにコンパイルしようとしています。エクセルファイルの作成・書き込みができる錆びたクレートです。を使用して正常に実行できましたcargo run
。
残念ながら、それを Web アセンブリにコンパイルしようとすると、bzip2-sys (錆びたクレート) の<stdlib.h>
コンパイル中に、一般的な C ライブラリである library が見つからないというエラーが発生します。
最初にコンパイルしようとしたとき、ここから行ったclang (Windows(64ビットおよび32ビット)用のビルド済みバイナリ)をインストールするように求めC:\Program Files\LLVM\bin
られ、システムのPath環境変数に含めました。MinGW-w64 と、Visual C++ ビルド ツールを備えた Visual Studio 2017 もインストールしています。
以下の Visual Studio Code で生成されたエラー全体を確認できます。
rust - Rust Game of Life WebAssembly を静的 Web サイトとして機能させるには?
Rust Game of Life のチュートリアルを完了し、Web ブラウザーで動作するゲームを持っていますが、バンドルされているデモ Web サーバーからのみ動作します。サーバーを起動するnpm start
と、ポート 8080 で webpack-dev-server が実行されます。そのポートを介してサイトにアクセスすると、正常に動作します。ただし、サイトを Apache などの Web サーバーにコピーしようとすると、正しく読み込まれません。私が現在得ているエラーは次のとおりです。
チュートリアルから、Web サイトのルートはwww/
リポジトリで呼び出されるフォルダーであり、Rust プログラムから生成された wasm モジュールは の下に配置されpkg/
ます。www/node_modules/wasm-game-of-life
そのポイントからのシンボリックリンクがあり、../../pkg/
そのシンボリックリンクを最上位pkg/
フォルダーの実際のコピーに置き換えて、Web サイトがフォルダー内に完全に含まれるようにし、www/
そのフォルダーを自分の Web サイトのhttp://に配置しました。 www.north-winds.org/gol/にアクセスすると、上記のエラーが返されます。スタンドアロンで動作させるには、何を変更する必要がありますか?
私が理解しているように、この WebAssembly Game-of-Life は基本的にスタンドアロンのクライアント側アプリであり、適切な MIME タイプが添付された静的ファイルを提供できる Web サーバー以外には何も必要ありません。必要な特別なものは何もありません。どこかで WebSockets についての言及を見ましたが、なぜこのアプリにそれが必要なのかわかりません。これをhttps://webassembly.org/の C 用の "Hello, World" WebAssembly の例と比較すると、C ソース コードから生成された.wasm
ファイルと、それを実行するための単一の JavaScript および HTML サポート ファイルが得られました。静的な Web サーバーの場所にコピーするだけで、ファイルは正しく機能しました。これは、Rust の例で私が望むものです。
Rust Game-of-Life の関連コードは次のとおりです。最上位の HTML ファイルには、次の行が含まれています。
ブートストラップ JavaScript ファイルには、これだけが含まれています。
そして、それが参照する index.js ファイルには、Wasm の他のグルー ロジックの中でも次のものが含まれています。
この作業をスタンドアロンにするために欠けているものは何ですか?