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

相关推荐
哒哒哒5285209 分钟前
HTTP缓存
前端·面试
T___11 分钟前
从入门到放弃?带你重新认识 Headless UI
前端·设计模式
wordbaby12 分钟前
React Router 中调用 Actions 的三种方式详解
前端·react.js
黄丽萍18 分钟前
前端Vue3项目代码开发规范
前端
葬送的代码人生20 分钟前
AI Coding→像素飞机大冒险:一个让你又爱又恨的小游戏
javascript·设计模式·ai编程
curdcv_po22 分钟前
🏄公司报销,培养我成一名 WebGL 工程师⛵️
前端
Jolyne_33 分钟前
前端常用的树处理方法总结
前端·算法·面试
wordbaby35 分钟前
后端的力量,前端的体验:React Router Server Action 的魔力
前端·react.js
Alang36 分钟前
Mac Mini M4 16G 内存本地大模型性能横评:9 款模型实测对比
前端·llm·aigc
林太白36 分钟前
Rust-连接数据库
前端·后端·rust