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

相关推荐
onebound_noah10 分钟前
电商图片搜索:技术破局与商业落地,重构“视觉到交易”全链路
大数据·前端·网络·人工智能·重构·php
答案answer20 分钟前
一个超级真实的Three.js树🌲生成器插件
前端·three.js
朴shu29 分钟前
揭秘高性能协同白板:轻松实现多人实时协作(一)
前端·设计模式·架构
wyjcxyyy29 分钟前
polar靶场-MISC,WEB(中等)
前端·chrome
2301_8160738332 分钟前
SELinux 学习笔记
linux·运维·前端
秋天的一阵风33 分钟前
😱一行代码引发的血案:展开运算符(...)竟让图表功能直接崩了!
前端·javascript·vue.js
Hilaku37 分钟前
npm scripts的高级玩法:pre、post和--,你真的会用吗?
前端·javascript·vue.js
申阳1 小时前
Day 12:09. 基于Nuxt开发博客项目-使用NuxtContent构建博客模块
前端·后端·程序员
合作小小程序员小小店1 小时前
web网页开发,在线短视频管理系统,基于Idea,html,css,jQuery,java,springboot,mysql。
java·前端·spring boot·mysql·vue·intellij-idea
n***29321 小时前
前端动画性能优化,减少重绘重排
前端·性能优化