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ファイルと履歴を使用して見つけることができます。他のバージョン、特に近いバージョンでも動作する可能性がありますが、テストされていないため、動作は保証されません)。
上記が役に立たない場合は、お問い合わせください。