emcc全称 emscripten,最重要的功能就是让网页js调用c/c++ 成为可能,是我们基于webassembly搭建网页播放器必须依赖的编译工具. emcc官网的搭建教程较为简单,安装过程中最大的麻烦在于,编译依赖的各种库的安装,特别是版本.
章节列表:
搭建webassembly网页播放器(二)
glic依赖库注意事项
emsdk必须依赖glibc,但是glibc的安装需要特别注意,因为版本太多了,这里面还牵扯到第一个Center OS版本的问题.
在第一章说过,我们选择的是Center OS 7的版本,CenterOS7/8的gcc/g++有一个很大的区别:
Center OS 7: 最高支持到c++11
Center OS 8: 最高支持到C++ 14、
大家可以通过指令 : man gcc 查看最大支持到C++几.
glibc最新版本需要 c++ 14/17 这些高级版本的支持,而我们的Center OS 7的gcc是不支持的,因此我们要选择一个合适的版本或者手动升级gcc。
glibc下载地址:http://ftp.gnu.org/gnu/glibc/
这里我们选择的是 2.19版本
编译:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.gz
tar -xvf glibc-2.19.tar.gz
cd glibc-2.19
mkdir build
cd build
../configure -prefix=/usr/
make -j12
sudo make install
编译成功
emsdk安装
官网下载地址:
https://emscripten.org/docs/getting_started/downloads.html
一个注意事项:
在第一篇中,我们介绍了如何在构建共享文件夹,但是共享文件夹里面是无法使用软链接的(类似windows的桌面快捷),但是emsdk需要使用软链接的,因此,我们在/mnt/work目录下单独的下载和编译emsdk.
- 安装python3,cmake,bzlip2,zlib,zlib-devel
yum install python3
yum install cmake
yum install git
注意 python版本一定要是python3,不能是python2,不兼容python2.
格外注意
yum -y install bzip2
yum -y install zlib zlib-devel
因为中途下载的时候,首先会下载压缩文件 bzip,然后解压,如果无法解压会导致重新下载,浪费时间和精力.
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
注意依赖网速,大家慢慢耐心下载即可。
碰到这种卡着半天不动的情况,就先按ctrl+c终止,然后再下.