Emscripten安装并配置环境变量

前言

Emscripten官网

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

一、下载 emsdk 包

emsdk – github地址

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

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 命令。输入这条命令后会提示你配置相应的环境变量,记住这些环境变量,必须和提示配置的一致才行。

在这里插入图片描述

三、配置环境变量

Setting up EMSDK environment (suppress these messages with EMSDK_QUIET=1)
Adding directories to PATH:
PATH += D:\emsdkSetting 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/127466.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法-队列

一.队列的基本概述 1.队列的定义 答:队列是现在在两端进行插入和删除操作的线性表,"队尾"是允许进行存入…

系统软件启动过程

实验一:系统软件启动过程 参考 重要文件 调用顺序 1. boot/bootasm.S | bootasm.asm(修改了名字,以便于彩色显示)a. 开启A20 16位地址线 实现 20位地址访问 芯片版本兼容通过写 键盘控制器8042 的 64h端口 与 60h端口。b.…

ApachePulsar原理解析与应用实践(学习笔记一)

随着时代的发展,软件设计的理念也在不断发展,从单体服务、面向服务、微服务,发展到云原生以及无服务。其演变的过程是一个能力不断增强,领域边界不断微分细化的过程。比如无服务就是将函数作为服务,就类似dns模式的服务…

什么是50ETF期权开户条件,怎么开期权交易权限?

50ETF期权是指上证50ETF期权,标的物是上证50ETF,代码是(510500),期权是一种在上证50ETF基础上进行衍生品交易的金融工具,下文科普什么是50ETF期权开户条件,怎么开期权交易权限?本文来…

死锁

目录 什么是死锁 产生的条件 死锁避免 银行家算法 问题引入 银行家算法的实现思想 死锁检测 每种类型一个资源的死锁检测 每种类型多个资源的死锁检测 死锁恢复 鸵鸟算法 什么是死锁 线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线…

3.3.2 【MySQL】客户端和服务器通信中的字符集

3.3.2.1 编码和解码使用的字符集不一致的后果 我们知道字符 我 在 utf8 字符集编码下的字节串长这样: 0xE68891 ,如果一个程序把这个字节串发送到另一个程序里,另一个程序用不同的字符集去解码这个字节串,假设使用的是 gbk 字符集…

3ds max插件CG MAGIC中的室外功能可以高效出图吗?

使用3ds Max高效出图秘诀有没有什么秘诀呢?如何做到快速出图呢? 3ds max插件CG MAGIC中的室外功能可以高效出图吗? CG MAGIC 是一款基于3DS max深入开发的智能辅助设计插件。 自从CG Magic专业版上线之后,小伙伴们对新功能诀窍…

Java中如何进行加锁??

笔者在上篇文章介绍了线程安全的问题,接下来本篇文章就是来讲解如何避免线程安全问题~~ 前言:创建两个线程,每个线程都实现对同一个变量count各自自增5W次,我们来看一下代码: class Counter{private int count0;publi…

数学的魅力

数学的魅力 数学的历史古代数学古希腊数学中世纪数学文艺复兴数学 数学的分支1. 代数学2. 几何学3. 微积分学4. 概率论与统计学5. 数论 数学的重要性1. 科学和技术2. 经济学和金融3. 医学和生物学4. 社会科学5. 环境科学 数学的未来1. 人工智能2. 网络安全3. 空间探索 结论 数学…

docker-compose安装nginx

基于docker-compose安装nginx 目录 一、目录结构 1、docker-compose.yml 2、nginx.conf 3、default.conf 4、index.html 二、访问测试 一、目录结构 1、docker-compose.yml version: 3 services:nginx:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/nginx:1.21.1…

单向链表(c/c++)

链表是一种常见的数据结构,其中运用到了结构体指针,链表可以实现动态存储分配,换而言之,链表是一个功能强大的数组,可以在某个节点定义多种数据类型,可以实现任意的添加,删除,插入节…

使用JS实现一个简单的观察者模式(Observer)

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 手撸Observer⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领…

2023国赛数学建模E题思路代码 黄河水沙监测数据分析

E题最大的难度是数据处理,可以做一个假设,假设一定时间内流量跟含沙量不变,那么我们可以对数据进行向下填充,把所有的数据进行合并之后可以对其进行展开特性分析,在研究调水调沙的实际效果时,可以先通过分析…

linux下shell脚本实现wordpress搭建

wordpress_auto_install.sh #!/bin/bashuser$(whoami)function wordpress_auto_install () { if [ $user "root" ];thenecho "前提:调整系统配置,如关闭selinux、firewall等!"sed -i s/SELINUXenforcing/SELINUXdis…

baichuan2(百川2)本地部署的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Web开发后端总结

Web后端开发现在基本上都是基于标准的三层架构进行开发的,在三层架构当中,Controller控制器层 - 负责接收请求响应数据,Service - 业务层负责具体的业务逻辑处理,而Dao - 数据访问层也叫持久层,就是用来处理数据访问操…

认识异常【超详细】

文章目录 1. 异常的概念与体系结构1.1 异常的概念1.2 异常的体系结构1.3 异常的分类1. 编译时异常2. 运行时异常 2. 异常的处理2.1 防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1 异常声明throws2.3.2 try-catch捕获并处理2.3.3 finally 2.4 异常的处理流程 3. 自定义异常类 1.…

win10 任务栏预览设置为列表效果

背景 在win10系统,当同一个应用(如文件资源管理器,git bash,word等)打开多个页面时,当个数少于17(大约)个时,其默认预览效果为平铺,在大于17个时&#xff0c…

Spring与Docker:如何容器化你的Spring应用

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

自己的碎碎念集合

自己的碎碎念集合 2023-09-07 c++叠加三目运算符闰年计算法2023-08-13 一个小题目 A+B problem一、问题及解答关碍总结2023-07-26 C的2至36进制转换函数一、itoa()函数的示例代码总结2023-07-19 平面坐标下判断三角形以及输出周长和面积一. 基本知识总结2023-06-25 达芬奇去除白…