Windows环境下中安装 emsdk 编译 emcc

2,600 阅读2分钟

安装emsdk

    git clone https://github.com/emscripten-core/emsdk.git 
    # 之前版本在master 更新之后切换到main 分支出现bug 建议删除旧版本重新拉代码
    git pull
    # 在 git bash 和 dos 环境 都可以运行
    # git bash
    ./emsdk.bat install latest
    ./emsdk.bat activate latest
    # dos cmd
    emsdk.bat install latest
    emsdk.bat activate latest
    # 修改环境变量 只能在 dos cmd下 在powershell 和 git bash 环境中有问题
    emsdk_env.bat

emsdk.bat activate latest 打印信息

    Resolving SDK alias 'latest' to '3.0.0'
    Resolving SDK version '3.0.0' to 'sdk-releases-upstream-7fbe748230f2ce99abbf975d9ad997699efb3153-64bit'
    Setting the following tools as active:
       node-14.15.5-64bit
       python-3.9.2-1-64bit
       java-8.152-64bit
       releases-upstream-7fbe748230f2ce99abbf975d9ad997699efb3153-64bit

    Adding directories to PATH:
    PATH += D:\_workspace\emsdk
    PATH += D:\_workspace\emsdk\node\14.15.5_64bit\bin
    PATH += D:\_workspace\emsdk\upstream\emscripten

    Setting environment variables:
    PATH = D:\_workspace\emsdk;D:\_workspace\emsdk\node\14.15.5_64bit\bin;D:\_workspace\emsdk\upstream\emscripten;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_202\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\sqlite;C:\Program Files (x86)\Java\jdk1.7.0_80\bin;D:\Git\cmd;D:\nvm;D:\Node;D:\Microsoft VS Code\bin;C:\Users\admin\AppData\Roaming\npm;C:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\python27;C:\Users\admin\AppData\Local\Microsoft\WindowsApps;
    EMSDK = D:/_workspace/emsdk
    EM_CONFIG = D:\_workspace\emsdk\.emscripten
    EMSDK_NODE = D:\_workspace\emsdk\node\14.15.5_64bit\bin\node.exe
    EMSDK_PYTHON = D:\_workspace\emsdk\python\3.9.2-1_64bit\python.exe
    JAVA_HOME = D:\_workspace\emsdk\java\8.152_64bit
    Clearing existing environment variable: EMSDK_PY
    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 permanently register this environment permanently, rerun this command with the option --permanent.

写入环境变量

    EMSDK = D:/_workspace/emsdk
    EM_CONFIG = D:\_workspace\emsdk\.emscripten
    EMSDK_NODE = D:\_workspace\emsdk\node\14.15.5_64bit\bin\node.exe
    EMSDK_PYTHON = D:\_workspace\emsdk\python\3.9.2-1_64bit\python.exe
    JAVA_HOME = D:\_workspace\emsdk\java\8.152_64bit

下次启动项目中 在dos cmd 环境中直接运行

emsdk_env.bat
emcc
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.0.0 (3fd52e107187b8a169bb04a02b9f982c8a075205)
clang version 14.0.0 (https://github.com/llvm/llvm-project 4348cd42c385e71b63e5da7e492172cff6a79d7b)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: ...

[疑问点] dos 环境下可以执行 emsdk\upstream\emscripten\emcc 等可执行文件,在 git bash 和 powershell 下无法执行