首先我是按照这篇博客来安装编译环境https://blog.csdn.net/fanxingzju/article/details/80488788
下面是爬过的坑
1.
cd /home/fzn/emscripten
./emcc --help
下载emscripten代码,执行--help之后报错
Traceback (most recent call last):
File "./emcc.py", line 40, in <module>
import emscripten
File "/home/fzn/emscripten/emscripten.py", line 463
args.append(f'--separate-data-segments={memfile}')
^
SyntaxError: invalid syntax
处理办法删除emscripten 重新下载其他版本。我是在github上下载的,上传到网盘了。链接:https://pan.baidu.com/s/1fvTumuUK5h9ekn59yB3TaA 提取码:bydm
用这个版本替换后可以出来 Welcome to Emscripten! 欢迎界面。
2. 类似 emcc: error: failing sanity checks due to previous llvm failure这种,是llvm版本不匹配
我是重新下载的11.0版本 https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
这个版本我记得是编译过的,已经有bin文件夹了。
更新后可能会报clang++文件找不到什么的(具体忘了),我的处理办法是把emscripten-fastcomp/build/bin 里面的clang文件复制一个重新命名。这些可能是版本不一样命名不同的原因。
3.会报一个wasm-ld 错误。
把emscripten-fastcomp/build/bin 下的lld 重新命名一个wasm-ld文件。 两个文件是一样的,不一样的叫法。
4会报一个wasm-opt错误。这个文件在binaryen/bin目录下。
报错unzip version_48.zip版本 删掉下载更换97版本 链接:https://pan.baidu.com/s/15-eNWQFOXHQXzgh5cXIFXg 提取码:dsn2
有的下载的包里面是源码没有bin目录的话还要 编译cmake . && make
5.会报js解析问题错误。没有保留记录原因是nodejs版本太低了。我升级到 nodejs 14.15.3版本
升级方法:sudo apt-get install curl -》 sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - -》 sudo apt-get install -y nodejs
6.error: clang executable not found at `/home/lius/fzn/emscripten-fastcomp-master/build/bin/clang
检查是否/home/lius/fzn/emscripten-fastcomp-master/build/bin 这个路径名称和你新建的build对不对的上。可能会有失误新建成了bulid了 。
7.我记得emscripten-fastcomp 好像也在gihub上下载了最新的版本替换。
我觉得即使我这里能跑通测试,各位网友的自己的环境还是会出现一些列的奇怪问题。版本匹配问题很烦人。我考虑把虚拟机打包传到百度网盘有需要的留下邮箱。
搭建这个环境,总之心里就一句话 “麻辣隔壁!!!!!”