在您安裝 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 檔案和歷史記錄找到它;其他版本也可能可以使用,尤其是相近的版本,但我們未對其進行測試,因此無法保證其能正常運作)。
如果以上皆無幫助,請聯絡我們以尋求協助。