Emscripten编译环境搭建--将C和C++编译成JS
需求:linux环境下用js执行c、c++文件,使用emscirpten编译器
目标:搭建好Emscripten环境
环境:Ubuntu16.04
操作日期:2018.07.31
巨大天坑:按照官网步骤走会有很多坑...各种依赖的版本、下载、安装的配置,一直failed...对于linux不精通的我甚至不知道有的错出现在哪里...
解决办法:安装工具包,一键式操作,寻求emsdk解决
参考博客:https://www.cnblogs.com/Bob-wei/p/9121290.html
步骤重演:
1.各类安装工具让它一键安装:
$ sudo apt update
$ sudo apt install vim openssh-server git curl wget tar unzip
$ sudo apt install build-essential python cmake default-jre
2.进自己的根目录,从github拷贝源(自动创建emsdk文件夹):
$ cd ~
$ git clone https://github.com/juj/emsdk.git
3.将其更新至最新版本(这个步骤貌似多余,但走一遍):
$ cd emsdk
$ ./emsdk update
4.关键步骤--安装最新的SDK
安装时会自动检查并下载缺失的llvm(体积很大)、clang、node、emscripten和sdk。
$ mkdir ~/emsdk/zips
$ ./emsdk install latest
***又有一巨坑,因为网络原因,用install latest自动下载安装期间几乎百分百出错,以至于只能手动下载llvm、clang、node、emscripten、sdk几个依赖放到创建好的emskd/zips文件夹里,再次执行$ ./emsdk install latest这条命令。
***去哪儿下载依赖?每次执行$ ./emsdk install latest出错时,都是因为下载安装等错误,读懂提示文字循着链接自己从浏览器里下载,然后放进zips里,下载好一个再执行一遍$ ./emsdk install latest。以此类推,几个依赖装完也就安装完成了算。
5.为当前用户配置~/.emscripten文件
$ cd emsdk
$ ./emsdk activate latest
6.查看安装列表,安装binaryen(此处安装方法同第四步)
$ ./emsdk list
./emsdk install binaryen-tag-1.38.4-64bit
./emsdk activate binaryen-tag-1.38.4-64bit
7.为当前会话配置环境变量
$ cd ~/emsdk
$ source ./emsdk_env.sh
$ cd ~/emsdk
$ ./emsdk list
8.查看版本
$ emcc --version
$ em++ --version
没有警告,恭喜你Emscipten环境配置完毕,可以开心编译c、c++成js插到网页用了。
9.备份(安装不易,备份且珍惜)
$ cd ~
$ tar cvzf emsdk.tar.gz emsdk