Emscripten安装并配置环境变量

前言

Emscripten官网

官网有安装教程,但有些细节没有讲清楚,本文会很详细的讲解每一步。

一、下载 emsdk 包

emsdk -- github地址

可以使用 git 去拉取,不过可能会超时拉取失败。

bash 复制代码
git clone https://github.com/emscripten-core/emsdk.git

所以可以去 github 上下载 zip 包,解压后包名为 emsdk-main,手动改成 emsdk 即可,解压后可以将包放到D盘根目录下,其它地方也随意,没有要求,本文后面按照放入D盘根目录介绍。

二、安装

1. 在终端输入命令进入 emsdk 文件夹

打开终端,可以使用 windows + R 输入 cmd 打开,输入 D: 回车,再输入 cd emsdk 进入emsdk 文件夹。

2. 安装 Python

必须先安装 Python,Emscripten 运行依赖于 Python 环境,且 Python 版本必须大于3.6。

Python官网下载地址

下载完成后双击安装,按照下面的步骤一遍一遍进行。

  1. 选择自动添加环境变量,然后安装

  2. 下一步

  3. 选中这5个,一般为前5个

  4. 不设置path长度限制

  5. 在终端输入确认 Python 是否安装成功,显示版本号表示已安装成功。

3. 输入指令完成配置

第一步

输入 ./emsdk install latest 命令,如果是 windows 系统则输入 emsdk install latest 命令。如果安装失败,则重新安装一次,网络不好可能会失败。

第二步

输入 ./emsdk activate latest 命令,如果是 windows 系统则输入 emsdk activate latest 命令。这里报错提示需要安装 Python-3.9-2-nuget-64bit版本,不用管它。

第三步 输入 source ./emsdk_env.sh 命令,如果是 windows 系统则输入 emsdk_env.bat 命令。输入这条命令后会提示你配置相应的环境变量,记住这些环境变量,必须和提示配置的一致才行。

三、配置环境变量

javascript 复制代码
Setting up EMSDK environment (suppress these messages with EMSDK_QUIET=1)
Adding directories to PATH:
PATH += D:\emsdk

Setting environment variables:
PATH = D:\emsdk;C:\Program Files\Python311\Scripts\;C:\Program Files\Python311\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files (x86)\Tencent\微信web开发者工具\dll;;C:\Pr;gram Files\Git\cmd;C:\Program Files\Git\cmd;C:\Users\mr_zx\AppData\Local\Microsoft\WindowsApps;C:\Users\mr_zx\AppData\Roaming\npm;C:\Users\mr_zx\AppData\Local\Programs\Microsoft VS Code\bin
EMSDK = D:/emsdk
Clearing existing environment variable: EMSDK_PY

因为版本和系统不一致,所以输入相同的命令,显示要配置的环境变量不一定完全相同,这里需要根据自己输入命令后的提示进行配置,下面的图片仅为参考。

path 变量本来就有,只需要在里面追加即可。

配置完成后输入 emcc 测试是否配置成功,如果不显示 "'emcc' 不是内部或外部命令,也不是可运行的程序",则说明配置成功。

最后

到这里 Emscripten 已经成功安装完成了,配置完 PATH 后即可在全局调用此命令,接下来就可以将 C 代码编译成 JS 和 wasm 文件了。

本文仅仅是讲解 Emscripten 安装过程,有关编译过程及编译后如何使用 JS 文件,限于篇幅,会在后面更新另一篇博客去详细描述。

END

相关推荐
Kagol1 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉1 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau1 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生1 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼1 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879971 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter
进击的尘埃1 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn1 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript
leolee182 小时前
Redux Toolkit 实战使用指南
前端·react.js·redux
bluceli2 小时前
React Hooks最佳实践:写出优雅高效的组件代码
前端·react.js