驗證 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 遺失的警告,請在儲存庫中找到它,安裝它,然後將其設定為啟用

#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 檔案和歷史記錄找到它;其他版本也可能可以使用,尤其是相近的版本,但我們未對其進行測試,因此無法保證其能正常運作)。

如果以上皆無幫助,請聯絡我們以尋求協助。