Emscripten 在 Windows 下的安装
前言
要准备做关于 WASM 的项目了,了解到要用 Emscripten,安装遇到些问题,遂记录一下。
安装
-
环境
安装首先需要:
- Python 3.8 以上版本
- 安装了 Git
-
安装 Emscripten
依次运行以下命令:
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
接下来官方文档写明运行:
./emsdk activate latest
但是执行时可能会出现问题:
File "your_path\emsdk/emsdk.py", line 2359, in write_set_env_script
open(EMSDK_SET_ENV, 'w').write(env_string)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
UnicodeEncodeError: 'gbk' codec can't encode character '\u03a2' in position 725: illegal multibyte sequence
问题本质是 Windows 默认编码是 GBK,而 emsdk.py 在生成环境设置脚本时直接用 open(..., 'w')
写入,遇到了 UTF‑8 字符(如 \u03A2
等)就会出现报错。
尝试命令 set PYTHONUTF8=1
发现不起作用。
找到 write_set_env_script
函数,通常在 emsdk/emsdk.py
约第 2359 行左右,将:
open(EMSDK_SET_ENV, 'w').write(env_string)
改为:
open(EMSDK_SET_ENV, 'w', encoding='utf-8').write(env_string)
然后重新运行:
./emsdk activate latest
发现激活成功,然后设置到环境变量:
./emsdk_env.bat
验证安装:
emcc -v
输出以下信息则安装成功:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.10 (b7dc6e5747465580df5984e723b9d1f10d8e804b)
clang version 21.0.0git (https:/github.com/llvm/llvm-project 8f7e57485ee73205e108d74abb5565d5c63beaca)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: D:\Emscripten\emsdk\upstream\bin
更新/版本
可以通过指定特定版本来安装该版本,例如:
./emsdk install 1.38.45
更新版本(不用重新安装):
./emsdk update
删除 Emscripten 只需要删除 emsdk
文件夹即可。
评论
预览将在此处显示...
这是一个示例评论。GitHub风格的评论区已经成功集成到您的博客中!