按照开发人员指南的逐步操作,它对我而言在MAC上失败了。

http://webassembly.org/getting-started/developers-guide/

我有一个干净的Mac安装10.11.6 (15G31),这是日志。

Mac-MBP:emsdk_portable wasm $ ./emsdk激活clang-incoming-64bit emscripten-incoming-64bit sdk-incoming-64bit
将.emscripten配置文件写入用户主目录/Users/wasm/
Emscripten配置文件/Users/wasm/.emscripten已被重写,内容如下:

导入操作系统
LLVM_ROOT ='/用户/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin'
NODE_JS ='/用户/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin/node'
EMSCRIPTEN_ROOT ='/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming'
EMSCRIPTEN_NATIVE_OPTIMIZER ='/用户/wasm/repo/webassembly/emsdk_portable/emscripten/incoming_64bit_optimizer/optimizer'
SPIDERMONKEY_ENGINE =''
V8_ENGINE =''
TEMP_DIR ='/var/folders/wk/mngy_vmn0xs6j32tm53vvg7m0000gn/T'
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]

为了方便地从命令行访问选定的工具集,请考虑将以下目录添加到PATH,或调用'source ./emsdk_env.sh'为您完成此操作。

/Users/wasm/repo/webassembly/emsdk_portable:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin:/Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin:/用户/wasm/repo/webassembly/emsdk_portable/emscripten/传入
Mac-MBP:emsdk_portable wasm $源./emsdk_env.sh
将目录添加到PATH:
路径+ =/Users/wasm/repo/webassembly/emsdk_portable
路径+ =/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin
路径+ =/Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin
路径+ =/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming

设置环境变量:
EM_CONFIG =/用户/wasm/.emscripten
EMSCRIPTEN =/用户/wasm/repo/webassembly/emsdk_portable/emscripten/传入

Mac-MBP:emsdk_portable wasm $ cd ..
Mac-MBP:webassembly wasm $ emmc --version
-bash:emmc:找不到命令
Mac-MBP:webassembly wasm $ emcc --version
INFO:root:正在生成系统 Assets :is_vanilla.txt ...(此文件将缓存在“/Users/wasm/.emscripten_cache/is_vanilla.txt”中,用于后续构建)
信息:根:-好的
emcc(Emscripten gcc/clang-like替换)1.36.14(提交ca2685c89546ce5f7c01e1bc769b7d2a401093dc)
Emscripten作者(C)2014 Emscripten作者(请参阅AUTHORS.txt)
这是MIT许可下的免费开源软件。
没有保修;甚至不是针对特定目的的适销性或适用性。

Mac-MBP:webassembly wasm $
Mac-MBP:webassembly wasm $ mkdir你好
Mac-MBP:webassembly wasm $ cd你好
Mac-MBP:hello wasm $ echo'#include'> hello.c
Mac-MBP:hello wasm $ echo'int main(int argc,char ** argv){'>> hello.c
Mac-MBP:hello wasm $ echo'printf(“Hello,world!\n”);' >> hello.c
Mac-MBP:hello wasm $ echo'}'>> hello.c
Mac-MBP:hello wasm $ emcc hello.c -s WASM = 1 -o hello.html
INFO:root :(说明:运行状况检查)
警告:root:检索端口:来自https://github.com/WebAssembly/binaryen/archive/version_21.zip的二进制文件
警告:root:解包端口:binaryen
INFO:root:生成端口:binaryen_tag_version_21.txt ...(此内容将缓存在“/Users/wasm/.emscripten_cache/asmjs/binaryen_tag_version_21.txt”中,以用于后续版本)
INFO:root:building端口:binaryen
-C编译器标识为Clang 3.9.0
-CXX编译器标识为Clang 3.9.0
-检查工作的C编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang
-检查工作的C编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang-有效
-检测C编译器ABI信息
-检测C编译器ABI信息-完成
-检查工作的CXX编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++
-检查可运行的CXX编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++-有效
-检测CXX编译器ABI信息
-检测CXX编译器ABI信息-完成
-寻找pthread.h
-寻找pthread.h-找到
-寻找pthread_create
-寻找pthread_create-找到
-找到的线程:TRUE
-使用-std = c++ 11构建
-使用-msse2构建
-使用-mfpmath = sse构建
-用墙 build
-用-Werror build
-用-Wextra build
-使用-Wno未使用参数的建筑物
-使用-fno-omit-frame-pointer进行构建
-使用-fPIC进行构建
-用-O2 build
-使用-UNDEBUG构建
-配置完成
CMake警告(dev):
未设置策略CMP0042:默认情况下启用MACOSX_RPATH。运行“cmake
--help-policy CMP0042“,以获取策略详细信息。使用cmake_policy命令可以
设置策略并禁止显示此警告。

未为以下目标指定MACOSX_RPATH:

二元

此警告是针对项目开发人员的。使用-Wno-dev禁止它。

-完成生成
-构建文件已写入:/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21
扫描目标wasm的依赖项
扫描目标asmjs的依赖项
扫描目标支持的依存关系
扫描目标 channel 的依赖关系
[1%]构建CXX对象src/support/CMakeFiles/support.dir/archive.cpp.o
[2%]构建CXX对象src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o
[4%]构建CXX对象src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/support/archive.cpp:17中包含的文件中:
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/support/archive.h:27:10:致命错误:找不到'cstdint'文件
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/asmjs/asm_v_wasm.cpp:17中包含的文件中:
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/asm_v_wasm.h:20中包含的文件中:
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/mixed_arena.h:20:10:致命错误:找不到“原子”文件
#包括
^
#包括
^
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm/wasm.cpp:17中包含的文件中:
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm.h:46:10:致命错误:找不到“cassert”文件
#包括
^
[5%]构建CXX对象src/passes/CMakeFiles/passes.dir/pass.cpp.o
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/pass.cpp:17:10:致命错误:找不到'chrono'文件
#包括
^
产生1个错误。
产生1个错误。
make [2]:*** [src/support/CMakeFiles/support.dir/archive.cpp.o]错误1
make [1]:*** [src/support/CMakeFiles/support.dir/all]错误2make [2]:
*** [src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o]错误1
make [1]:***等待未完成的工作。
make [1]:*** [src/asmjs/CMakeFiles/asmjs.dir/all]错误2
[8%]构建CXX对象src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o
[8%]构建CXX对象src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o
产生1个错误。
make [2]:*** [src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o]错误1
make [2]:***等待未完成的工作...。
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm/wasm-binary.cpp:17中包含的文件中:
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm-binary.h:24:10:致命错误:找不到“cassert”文件
#包括
^
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/CoalesceLocals.cpp:25:10:致命错误:找不到'algorithm'文件
#包括
^
[10%]构建CXX对象src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o
产生1个错误。
make [2]:*** [src/passes/CMakeFiles/passes.dir/pass.cpp.o]错误1
make [2]:***等待未完成的工作...。
在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/CodePushing.cpp:22中包含的文件中:
/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm.h:46:10:致命错误:找不到“cassert”文件
#包括
^
产生1个错误。
make [2]:*** [src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o]错误1
产生1个错误。
make [2]:*** [src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o]错误1
make [1]:*** [src/passes/CMakeFiles/passes.dir/all]错误2
产生1个错误。
make [2]:*** [src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o]错误1
make [1]:*** [src/wasm/CMakeFiles/wasm.dir/all]错误2
使:*** [全部]错误2
追溯(最近一次通话):
在第13行的“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc”文件中
emcc.run()
运行中的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”,行1334
compile_source_file(i,input_file)
在compile_source_file中的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”,第1323行
args = get_bitcode_args([input_file])+ ['-emit-llvm','-c','-o',output_file]
在get_bitcode_args中的第1306行中的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”
args = system_libs.process_args(args,shared.Settings)
在process_args中的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py”中,第636行
args = port.process_args(端口,args,设置,共享)
在process_args中,文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”,第34行
获取(端口,设置,共享)
在获取的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”中,第29行
返回[shared.Cache.get('binaryen_tag_'+ TAG,create,what ='port',extension ='。txt')]
在获取的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/cache.py”中,行95
临时= creator()
创建文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”,第24行
ports.build_native(os.path.join(ports.get_dir(),'binaryen','binaryen-'+ TAG))
在build_native中,文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py”,第607行
subprocess.check_call(['cmake','--build','。'] + make_args,env = env)
在check_call中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第540行
提高CalledProcessError(retcode,cmd)
subprocess.CalledProcessError:命令'['cmake','--build','。','-','-j','4']'返回非零退出状态2
Mac-MBP:hello wasm $ emcc hello.c -s WASM = 1 -o hello.htmlc
Mac-MBP:hello wasm $ whi
哪一阵
Mac-MBP:hello wasm $ whi
哪一阵
Mac-MBP:您好wasm $
/用户/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc
Mac-MBP:您好wasm $
Mac-MBP:hello wasm $ clang -v
clang版本3.9.0(https://github.com/kripken/emscripten-fastcomp-clang/b6ea91778b2b30e6746f2a5f2baba463948729a4)(https://github.com/kripken/emscripten-fastcomp/dfcb07a871addf339ffac17e606e16e97e8c5f6.16.1) )
目标:x86_64-apple-darwin15.6.0
螺纹型号:posix
已安装目录:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin
Mac-MBP:您好wasm $

最佳答案

看起来您正在击this bug

建议采取以下措施解决该问题:

  • Download binaryen
  • 使用cmake . && make进行安装
  • 下载EMCC SDK
  • 安装platform specific requirements
  • 安装EMCC compiler following the instructions
  • 验证所有已安装的内容run emcc -v
  • 关于c++ - WebAssembly演示指南因缺少文件而失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40625530/

    10-11 18:22