Emscripten開発環境の検証

SDKをインストールするか、ソースからEmscripten開発環境をビルドした後、コンパイラは正常に動作するはずです! このセクションでは、環境が正しくセットアップされていることを確認する方法と、インストール時に問題が発生した場合のトラブルシューティング方法について説明します。

環境のテスト

健全性テスト

環境を検証する最初のステップは、--checkを指定してEmscriptenを実行することです。 このオプションは、ツールチェーンに関する情報を出力し、必要なツールが利用可能かどうかをチェックするためにいくつかの基本的な健全性テストを実行します。

Emscriptenをインストールしたディレクトリでターミナルを開きます(Windowsの場合は、Emscriptenコマンドプロンプトを開きます)。 次に、以下に示すようにEmscriptenコンパイラフロントエンド(emcc)を呼び出します。

./emcc --check

注意

Windowsでは、ツールを./emccの代わりにemccで呼び出します。

たとえば、次の出力は、正しいバージョンのclangが見つからなかったことを報告しています。

emcc (Emscripten GCC-like replacement + linker emulating GNU ld) 1.21.0
shared:INFO: (Emscripten: Running sanity checks)
emcc: warning: LLVM version for clang executable "/usr/bin/clang" appears incorrect (seeing "16.0", expected "18") [-Wversion-check]

この時点で、不足しているコンポーネントをインストールしてアクティブ化する必要があります。 すべてが正しくセットアップされると、emcc --checkは警告を出さず、emcc(入力ファイルなし)と入力した場合はエラーが表示されます。

emcc: error: no input files

基本的な例のビルド

次のテストは、実際にコードをビルドすることです! コマンドプロンプトで、現在のSDKのEmscriptenディレクトリに移動し、hello_world.cppテストコードをビルドしてみてください。

cd emscripten/<version of emscripten you installed>
./emcc test/hello_world.cpp

このコマンドは警告なしに完了し、コンパイルされたばかりのJavaScriptファイル(a.out.js)が現在のディレクトリにあるはずです。

コンパイルが成功したら、Emscriptenチュートリアルに進む準備ができています。そうでない場合は、以下のトラブルシューティング手順を確認してください。

完全なテストスイートの実行

Emscriptenには、ツールチェーンの全部または一部をさらに検証するために使用できる包括的なテストスイートがあります。 詳細については、Emscriptenテストスイートを参照してください。

トラブルシューティング

最初に./emcc --checkを実行し、出力を調べて不足しているコンポーネントを見つけます。 また、./emcc --clear-cacheを試して、コンパイラの内部キャッシュを空にして、既知の良好な状態にリセットすることもできます。

不足しているコンポーネントのインストール

不足しているツールは、Emscripten SDK(emsdk)を使用して追加できることがよくあります。 たとえば、Javaが見つからないという警告を修正するには、リポジトリでJavaを見つけてインストールし、アクティブとして設定します。

#List all the components. Look for the missing component (in this case "java-7.45-64bit")
./emsdk list

#Install the missing component
./emsdk install java-7.45-64bit

#Set the component as active
./emsdk activate java-7.45-64bit

Emscriptenを手動でソースからビルドしている場合は、すべての依存関係を取得する方法について、そのリンクを参照してください。

その他の一般的な問題

確認すべきその他の一般的な問題は次のとおりです。

  • .emscriptenのパスのエラー。 emsdkを使用してファイルを更新する場合は、これらの可能性は低くなります。

  • 古いバージョンのNodeまたはJavaScriptエンジンを使用しています。 emsdk listにリストされているSDKのデフォルトバージョンを使用してください。

  • 古いバージョンのLLVMを使用しています。 正しいバージョンはSDKに付属していますが、ソースから環境をビルドする場合は、適切なバージョンのLLVMを使用するようにしてください(emscripten-releases DEPSファイルと履歴を使用して見つけることができます。他のバージョン、特に近いバージョンでも動作する可能性がありますが、テストされていないため、動作は保証されません)。

上記が役に立たない場合は、お問い合わせください。