C++ 由于缺少文件,WebAssembly演示指南失败

C++ 由于缺少文件,WebAssembly演示指南失败,c++,emscripten,webassembly,C++,Emscripten,Webassembly,一步一步地遵循开发者指南,我在MAC上失败了 我有一个干净的mac安装10.11.6(15G31),这是日志 Mac-MBP:emsdk_portable wasm$ ./emsdk activate clang-incoming-64bit emscripten-incoming-64bit sdk-incoming-64bit Writing .emscripten configuration file to user home directory /Users/wasm/

一步一步地遵循开发者指南,我在MAC上失败了

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

Mac-MBP:emsdk_portable wasm$ ./emsdk activate clang-incoming-64bit emscripten-incoming-64bit sdk-incoming-64bit Writing .emscripten configuration file to user home directory /Users/wasm/ The Emscripten configuration file /Users/wasm/.emscripten has been rewritten with the following contents: import os LLVM_ROOT='/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin' NODE_JS='/Users/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='/Users/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] To conveniently access the selected set of tools from the command line, consider adding the following directories to PATH, or call 'source ./emsdk_env.sh' to do this for you. /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 Mac-MBP:emsdk_portable wasm$ source ./emsdk_env.sh Adding directories to PATH: PATH += /Users/wasm/repo/webassembly/emsdk_portable PATH += /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin PATH += /Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin PATH += /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming Setting environment variables: EM_CONFIG = /Users/wasm/.emscripten EMSCRIPTEN = /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming Mac-MBP:emsdk_portable wasm$ cd .. Mac-MBP:webassembly wasm$ emmc --version -bash: emmc: command not found Mac-MBP:webassembly wasm$ emcc --version INFO:root:generating system asset: is_vanilla.txt... (this will be cached in "/Users/wasm/.emscripten_cache/is_vanilla.txt" for subsequent builds) INFO:root: - ok emcc (Emscripten gcc/clang-like replacement) 1.36.14 (commit ca2685c89546ce5f7c01e1bc769b7d2a401093dc) Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt) This is free and open source software under the MIT license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Mac-MBP:webassembly wasm$ Mac-MBP:webassembly wasm$ mkdir hello Mac-MBP:webassembly wasm$ cd hello 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:(Emscripten: Running sanity checks) WARNING:root:retrieving port: binaryen from https://github.com/WebAssembly/binaryen/archive/version_21.zip WARNING:root:unpacking port: binaryen INFO:root:generating port: binaryen_tag_version_21.txt... (this will be cached in "/Users/wasm/.emscripten_cache/asmjs/binaryen_tag_version_21.txt" for subsequent builds) INFO:root:building port: binaryen -- The C compiler identification is Clang 3.9.0 -- The CXX compiler identification is Clang 3.9.0 -- Check for working C compiler: /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang -- Check for working C compiler: /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++ -- Check for working CXX compiler: /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Building with -std=c++11 -- Building with -msse2 -- Building with -mfpmath=sse -- Building with -Wall -- Building with -Werror -- Building with -Wextra -- Building with -Wno-unused-parameter -- Building with -fno-omit-frame-pointer -- Building with -fPIC -- Building with -O2 -- Building with -UNDEBUG -- Configuring done CMake Warning (dev): Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake --help-policy CMP0042" for policy details. Use the cmake_policy command to set the policy and suppress this warning. MACOSX_RPATH is not specified for the following targets: binaryen This warning is for project developers. Use -Wno-dev to suppress it. -- Generating done -- Build files have been written to: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21 Scanning dependencies of target wasm Scanning dependencies of target asmjs Scanning dependencies of target support Scanning dependencies of target passes [ 1%] Building CXX object src/support/CMakeFiles/support.dir/archive.cpp.o [ 2%] Building CXX object src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o [ 4%] Building CXX object src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o In file included from /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: fatal error: 'cstdint' file not found In file included from /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/asmjs/asm_v_wasm.cpp:17: In file included from /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: fatal error: 'atomic' file not found #include ^ #include ^ In file included from /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: fatal error: 'cassert' file not found #include ^ [ 5%] Building CXX object src/passes/CMakeFiles/passes.dir/pass.cpp.o /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/pass.cpp:17:10: fatal error: 'chrono' file not found #include ^ 1 error generated. 1 error generated. make[2]: *** [src/support/CMakeFiles/support.dir/archive.cpp.o] Error 1 make[1]: *** [src/support/CMakeFiles/support.dir/all] Error 2make[2]: *** [src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [src/asmjs/CMakeFiles/asmjs.dir/all] Error 2 [ 8%] Building CXX object src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o [ 8%] Building CXX object src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o 1 error generated. make[2]: *** [src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /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: fatal error: 'cassert' file not found #include ^ /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/CoalesceLocals.cpp:25:10: fatal error: 'algorithm' file not found #include ^ [ 10%] Building CXX object src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o 1 error generated. make[2]: *** [src/passes/CMakeFiles/passes.dir/pass.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /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: fatal error: 'cassert' file not found #include ^ 1 error generated. make[2]: *** [src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o] Error 1 1 error generated. make[2]: *** [src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o] Error 1 make[1]: *** [src/passes/CMakeFiles/passes.dir/all] Error 2 1 error generated. make[2]: *** [src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o] Error 1 make[1]: *** [src/wasm/CMakeFiles/wasm.dir/all] Error 2 make: *** [all] Error 2 Traceback (most recent call last): File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc", line 13, in emcc.run() File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py", line 1334, in run compile_source_file(i, input_file) File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py", line 1323, in compile_source_file args = get_bitcode_args([input_file]) + ['-emit-llvm', '-c', '-o', output_file] File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py", line 1306, in get_bitcode_args args = system_libs.process_args(args, shared.Settings) File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py", line 636, in process_args args = port.process_args(Ports, args, settings, shared) File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py", line 34, in process_args get(ports, settings, shared) File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py", line 29, in get return [shared.Cache.get('binaryen_tag_' + TAG, create, what='port', extension='.txt')] File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/cache.py", line 95, in get temp = creator() File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py", line 24, in create ports.build_native(os.path.join(ports.get_dir(), 'binaryen', 'binaryen-' + TAG)) File "/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py", line 607, in build_native subprocess.check_call(['cmake', '--build', '.'] + make_args, env=env) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--', '-j', '4']' returned non-zero exit status 2 Mac-MBP:hello wasm$ emcc hello.c -s WASM=1 -o hello.htmlc Mac-MBP:hello wasm$ whi which while Mac-MBP:hello wasm$ whi which while Mac-MBP:hello wasm$ which emcc /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc Mac-MBP:hello wasm$ Mac-MBP:hello wasm$ clang -v clang version 3.9.0 (https://github.com/kripken/emscripten-fastcomp-clang/ b6ea91778b2b30e6746f2a5f2baba463948729a4) (https://github.com/kripken/emscripten-fastcomp/ dfcb07a871addf339ffac17e606e16e97e8c5f71) (emscripten 1.36.14 : 1.36.14) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin Mac-MBP:hello wasm$ Mac MBP:emsdk_portable wasm$。/emsdk激活clang-incoming-64位emscripten-incoming-64位sdk-incoming-64位 正在将.emscripten配置文件写入用户主目录/Users/wasm/ Emscripten配置文件/Users/wasm/.Emscripten已使用以下内容重写: 导入操作系统 LLVM_ROOT='/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin' NODE_JS='/Users/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='/Users/wasm/repo/webassembly/emsdk_portable/EMSCRIPTEN/incoming_64bit_OPTIMIZER/OPTIMIZER' SPIDERMONKEY_引擎=“” V8_发动机=“” TEMP_DIR='/var/folders/wk/mngy_vmn0xs6j32tm53vvg7m0000gn/T' 编译器\u引擎=节点\u JS JS_引擎=[NODE_JS] 为了方便地从命令行访问所选择的工具集,可以考虑将以下目录添加到路径中,或者调用'Surrase/ESDKYEnv.SH’来为您这样做。 /Users/wasm/repo/webassembly/emsdk\u portable:/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin:/Users/wasm/repo/webassembly/emsdk\u portable/node/4.1.1\u 64bit/bin:/Users/wasm/repo/webassemassemsdk\u portable/emscripten/incoming Mac MBP:emsdk_portable wasm$source./emsdk_env.sh 将目录添加到路径: PATH+=/Users/wasm/repo/webassembly/emsdk\u-portable PATH+=/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin PATH+=/Users/wasm/repo/webassembly/emsdk\u portable/node/4.1.1\u 64bit/bin 路径+=/Users/wasm/repo/webassembly/emsdk_-portable/emscripten/incoming 设置环境变量: EM_CONFIG=/Users/wasm/.emscripten EMSCRIPTEN=/Users/wasm/repo/webassembly/emsdk_portable/EMSCRIPTEN/incoming Mac MBP:emsdk_便携式wasm$cd。。 Mac MBP:webassembly wasm$emmc——版本 -bash:emmc:未找到命令 Mac MBP:webassembly wasm$emcc——版本 信息:root:正在生成系统资产:is_vanilla.txt。。。(对于后续版本,这将缓存在“/Users/wasm/.emscripten\u cache/is\u vanilla.txt”中) 信息:root:-好的 emcc(Emscripten gcc/clang-like替换)1.36.14(提交ca2685c89546ce5f7c01e1bc769b7d2a401093dc) 版权所有(C)2014 Emscripten作者(见authors.txt) 这是麻省理工学院许可下的免费开源软件。 没有担保;甚至不是为了适销性或适合某一特定目的。 Mac MBP:webassembly wasm$ Mac MBP:webassembly wasm$mkdir你好 Mac MBP:webassembly wasm$cd您好 Mac MBP:hello wasm$echo'#include'>hello.c macmbp:hello wasm$echo'intmain(intargc,char**argv){'>>hello.c Mac MBP:hello wasm$echo'printf(“hello,world!\n”);“>>hello.c macmbp:hello wasm$echo'}'>>hello.c Mac-MBP:hello wasm$emcc hello.c-s wasm=1-o hello.html 信息:root:(Emscripten:运行健全性检查) 警告:root:正在从中检索端口:binaryenhttps://github.com/WebAssembly/binaryen/archive/version_21.zip 警告:root:解包端口:binaryen 信息:根:生成端口:binaryen\u标签\u版本\u 21.txt。。。(这将缓存在“/Users/wasm/.emscripten\u cache/asmjs/binaryen\u tag\u version\u 21.txt”中,用于后续版本) 信息:根:构建端口:二进制 --C编译器标识为Clang 3.9.0 --CXX编译器标识为Clang 3.9.0 --检查C编译器是否工作:/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin/clang --检查C编译器是否工作:/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin/clang--works --检测C编译器ABI信息 --检测C编译器ABI信息-完成 --检查CXX编译器是否工作:/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin/clang++ --检查CXX编译器是否正常工作:/Users/wasm/repo/webassembly/emsdk\u portable/clang/fastcomp/build\u incoming\u 64/bin/clang++--works --检测CXX编译器ABI信息 --检测CXX编译器ABI信息-完成 --正在查找pthread.h --正在查找pthread.h-找到 --正在查找pthread_create --正在查找pthread_create-找到 --找到的线程:TRUE --使用-std=c++11构建 --使用msse2的建筑 --具有-mfpmath=sse的建筑 --带墙建筑 --使用-Werror的建筑 --使用Wextra构建 --具有-Wno未使用参数的建筑 --使用-fno省略帧指针的建筑 --带fPIC的建筑 --含氧建筑 --用无虫建筑 --配置完成 CMake警告(开发): 未设置策略CMP0042:默认情况下启用MACOSX_RPATH。运行“cmake” --帮助策略CMP0042“以获取策略详细信息。使用cmake_policy命令 设置策略并抑制此警告。 未为以下目标指定MACOSX_RPATH: 比纳林 此警告适用于项目开发人员。使用-Wno-dev来抑制它。 --生成完成 --生成文件已写入:/Users/wasm/.emscripten\u ports/binaryen/binaryen-version\u 21 目标wasm的扫描依赖关系 扫描目标asmjs的依赖项 扫描目标支持的依赖关系 目标过程的扫描相关性 [1%]构建CXX对象src/support/cmakfiles/support.dir/archive.cpp.o [2%]构建CXX对象src/asmjs/cmakfiles/asmjs.dir/asm_v_wasm.cpp.o [4%]构建CXX对象src/wasm/cmakfiles/wasm.dir/wasm.cpp.o 在/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/support/archive.cpp:17中包含的文件中: /Users/wasm/.emscripten\u ports/binaryen/binaryen versio