readme(emsdk).txt 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. 安装Emscripten编译器(emcc)操作步骤
  2. 1、首先安装python(安装的这个python是为了跑emsdk命令)
  3. python版本不低于2.7.12,因为emsdk是一组基于python2的脚本。python下载地址(https://www.python.org/downloads/),请一定要下载V2系列版本。如果你安装了多个版本Python,请在环境变量中将版本的安装路径放在最前面。安装好后,要配置一下环境变量(安装目录),之后再重启电脑,最用用python --version确认是否安装成功
  4. 2、安装git工具
  5. Git是当今最流行的版本控制软件,它包含了许多高级工具。它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。
  6. 下载地址:https://git-scm.com/downloads,下载好后一路默认安装即可。安装好后,要配置一下环境变量(安装目录/cmd),之后再重启电脑,最用用git --version确认是否安装成功
  7. 3、安装Emscripten 编译器(emcc)
  8. 3.1、克隆emsdk仓库到本地目录
  9. git clone https://github.com/emscripten-core/emsdk.git
  10. 3.2、进入emsdk包目录
  11. cd emsdk
  12. 3.3、拉取最新emsdk包(容易出错,因为国内无法访问外网)
  13. git pull
  14. 4.4、安装最新的sdk tools(容易出错,因为国内无法访问外网),包括Node.js、Python、Java、LLVM等依赖包
  15. emsdk install latest
  16. 4.5、激活sdk tools(容易出错)
  17. emsdk activate latest
  18. 4.6、配置环境变量
  19. 执行emsdk_env.bat即可
  20. 4.7、将4.6生成的环境变量配置字符串手动配置到用户环境变量中
  21. 4.8、通过emcc -v检查是否安装成功,不报错就成功了
  22. ***********************************************************************以下是安装日志**************************************************************
  23. Microsoft Windows [版本 10.0.19045.4046]
  24. (c) Microsoft Corporation。保留所有权利。
  25. D:\>git clone https://github.com/emscripten-core/emsdk.git
  26. Cloning into 'emsdk'...
  27. fatal: unable to access 'https://github.com/emscripten-core/emsdk.git/': Failure when receiving data from the peer
  28. D:\>git clone https://github.com/emscripten-core/emsdk.git
  29. Cloning into 'emsdk'...
  30. remote: Enumerating objects: 3905, done.
  31. remote: Counting objects: 100% (68/68), done.
  32. remote: Compressing objects: 100% (45/45), done.
  33. remote: Total 3905 (delta 37), reused 49 (delta 21), pack-reused 3837
  34. Receiving objects: 100% (3905/3905), 2.17 MiB | 1.99 MiB/s, done.
  35. Resolving deltas: 100% (2567/2567), done.
  36. D:\>cd emsdk
  37. D:\emsdk>emsdk install latest
  38. Resolving SDK alias 'latest' to '3.1.54'
  39. Resolving SDK version '3.1.54' to 'sdk-releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'
  40. Installing SDK 'sdk-releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'..
  41. Installing tool 'node-16.20.0-64bit'..
  42. Downloading: D:/emsdk/downloads/node-v16.20.0-win-x64.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/node-v16.20.0-win-x64.zip, 28623474 Bytes
  43. Unpacking 'D:/emsdk/downloads/node-v16.20.0-win-x64.zip' to 'D:/emsdk/node/16.20.0_64bit'
  44. Done installing tool 'node-16.20.0-64bit'.
  45. Installing tool 'python-3.9.2-nuget-64bit'..
  46. Downloading: D:/emsdk/downloads/python-3.9.2-4-amd64+pywin32.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/python-3.9.2-4-amd64+pywin32.zip, 14413267 Bytes
  47. Unpacking 'D:/emsdk/downloads/python-3.9.2-4-amd64+pywin32.zip' to 'D:/emsdk/python/3.9.2-nuget_64bit'
  48. Done installing tool 'python-3.9.2-nuget-64bit'.
  49. Installing tool 'java-8.152-64bit'..
  50. Downloading: D:/emsdk/downloads/portable_jre_8_update_152_64bit.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/portable_jre_8_update_152_64bit.zip, 69241499 Bytes
  51. Unpacking 'D:/emsdk/downloads/portable_jre_8_update_152_64bit.zip' to 'D:/emsdk/java/8.152_64bit'
  52. Done installing tool 'java-8.152-64bit'.
  53. Installing tool 'releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'..
  54. Downloading: D:/emsdk/downloads/aa1588cd28c250a60457b5ed342557c762f416e3-wasm-binaries.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/win/aa1588cd28c250a60457b5ed342557c762f416e3/wasm-binaries.zip, 459538273 Bytes
  55. Unpacking 'D:/emsdk/downloads/aa1588cd28c250a60457b5ed342557c762f416e3-wasm-binaries.zip' to 'D:/emsdk/upstream'
  56. Done installing tool 'releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'.
  57. Done installing SDK 'sdk-releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'.
  58. D:\emsdk>emsdk activate latest
  59. Resolving SDK alias 'latest' to '3.1.54'
  60. Resolving SDK version '3.1.54' to 'sdk-releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit'
  61. Setting the following tools as active:
  62. node-16.20.0-64bit
  63. python-3.9.2-nuget-64bit
  64. java-8.152-64bit
  65. releases-aa1588cd28c250a60457b5ed342557c762f416e3-64bit
  66. Next steps:
  67. - Consider running `emsdk activate` with --permanent or --system
  68. to have emsdk settings available on startup.
  69. Adding directories to PATH:
  70. PATH += D:\emsdk\upstream\emscripten
  71. Setting environment variables:
  72. PATH = D:\emsdk\upstream\emscripten;D:\emsdk;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Go\bin;D:\MySQL\MySQL Server 8.0\bin;D:\Redis\;d:\Git\cmd;D:\nodejs\;C:\ProgramData\chocolatey\bin;$D:\\bin;D:\Qt\6.6.1\mingw_64\bin;D:\Qt\Tools\mingw1120_64\bin;C:\Program Files\dotnet\;d:\微信web开发者工具\dll;D:\Python27;d:\Emscripten\node\0.12.2_64bit;C:\Users\zt200\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\zt200\AppData\Local\Programs\Python\Python311\;D:\MySQL\MySQL Shell 8.0\bin\;C:\Users\zt200\AppData\Local\Microsoft\WindowsApps;C:\Users\zt200\go\bin;d:\VSCode\bin;C:\Users\zt200\AppData\Roaming\npm;D:\altera\13.1\modelsim_ase\win32aloem;
  73. EMSDK = D:/emsdk
  74. EMSDK_NODE = D:\emsdk\node\16.20.0_64bit\bin\node.exe
  75. EMSDK_PYTHON = D:\emsdk\python\3.9.2-nuget_64bit\python.exe
  76. JAVA_HOME = D:\emsdk\java\8.152_64bit
  77. Clearing existing environment variable: EMSDK_PY
  78. The changes made to environment variables only apply to the currently running shell instance. Use the 'emsdk_env.bat' to re-enter this environment later, or if you'd like to register this environment permanently, rerun this command with the option --permanent.
  79. D:\emsdk>emsdk_env.bat
  80. Setting up EMSDK environment (suppress these messages with EMSDK_QUIET=1)
  81. Setting environment variables:
  82. PATH = D:\emsdk;D:\emsdk\upstream\emscripten;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Go\bin;D:\MySQL\MySQL Server 8.0\bin;D:\Redis\;d:\Git\cmd;D:\nodejs\;C:\ProgramData\chocolatey\bin;$D:\\bin;D:\Qt\6.6.1\mingw_64\bin;D:\Qt\Tools\mingw1120_64\bin;C:\Program Files\dotnet\;d:\微信web开发者工具\dll;D:\Python27;d:\Emscripten\node\0.12.2_64bit;C:\Users\zt200\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\zt200\AppData\Local\Programs\Python\Python311\;D:\MySQL\MySQL Shell 8.0\bin\;C:\Users\zt200\AppData\Local\Microsoft\WindowsApps;C:\Users\zt200\go\bin;d:\VSCode\bin;C:\Users\zt200\AppData\Roaming\npm;D:\altera\13.1\modelsim_ase\win32aloem;
  83. Clearing existing environment variable: EMSDK_PY
  84. D:\emsdk>
  85. ***********************************************************************以下是emcc命令**************************************************************
  86. 1、默认编译
  87. emcc xx.c,输出a.out.wasm以及a.out.js
  88. 2、-o选项可以指定emcc的输出文件
  89. emcc hello.cc -o hello.js,输出hello.wasm以及hello.js两个文件