在您 安装 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 引擎。使用 SDK 中列出的默认版本,如 emsdk list 所示。
使用旧版本的 LLVM。正确的版本随 SDK 提供,但如果您从源代码构建环境,则应确保使用正确的 LLVM 版本(您可以使用 emscripten-releases DEPS 文件和历史记录 找到它;其他版本可能有效,尤其是相近的版本,但未经我们的测试,因此不能保证有效)。
如果以上都没有帮助,请 联系我们 寻求帮助。