查看当前 emsdk版本
进入到 emsdk
目录,执行 emsdk list
查看版本信息。
C:\Users\MG\Desktop\git\emsdk-1.38.30>emsdk list
The *recommended* precompiled SDK download is 2.0.18 (c2ac7520fad29a7937ed60ab6a95b08eb374c7ba).
To install/activate it, use one of:
latest [default (llvm) backend]
latest-fastcomp [legacy (fastcomp) backend]
Those are equivalent to installing/activating the following:
2.0.18
2.0.18-fastcomp
All recent (non-legacy) installable versions are:
2.0.18
2.0.17
2.0.16
2.0.15
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0 INSTALLED
1.40.1
1.40.0
1.39.20
1.39.19
1.39.18
1.39.17
1.39.16
1.39.15
1.39.14
1.39.13
1.39.12
1.39.11
1.39.10
1.39.9
1.39.8
1.39.7
1.39.6
1.39.5
1.39.4
1.39.3
1.39.2
1.39.1
1.39.0
1.38.48
1.38.47
1.38.46
1.38.45
1.38.44
1.38.43
1.38.42
1.38.41
1.38.40
1.38.39
1.38.38
1.38.37
1.38.36
1.38.35
1.38.34
1.38.33
The additional following precompiled SDKs are also available for download:
sdk-releases-upstream-f5c45e60392b82f603e3a8039c62db294fab02d2-64bit
sdk-releases-upstream-c2ac7520fad29a7937ed60ab6a95b08eb374c7ba-64bit
sdk-releases-fastcomp-edf24e7233e0def312a08cc8dcec63a461155da1-64bit
sdk-releases-fastcomp-536568644fd67d53778f6111fdd5f64ad3f4c539-64bit
sdk-fastcomp-1.38.30-64bit
sdk-fastcomp-1.38.31-64bit
The following SDKs can be compiled from source:
sdk-upstream-main-64bit
sdk-fastcomp-tag-1.38.30-64bit
sdk-fastcomp-tag-1.38.31-64bit
The following precompiled tool packages are available for download:
releases-upstream-f5c45e60392b82f603e3a8039c62db294fab02d2-64bit
releases-upstream-c2ac7520fad29a7937ed60ab6a95b08eb374c7ba-64bit
releases-fastcomp-edf24e7233e0def312a08cc8dcec63a461155da1-64bit
releases-fastcomp-536568644fd67d53778f6111fdd5f64ad3f4c539-64bit
fastcomp-clang-e1.38.30-64bit
fastcomp-clang-e1.38.31-64bit
(*) node-14.15.5-64bit INSTALLED
(*) python-3.9.2-1-64bit INSTALLED
(*) java-8.152-64bit INSTALLED
emscripten-1.38.30
emscripten-1.38.31
gnu-2.5.4
mingw-7.1.0-64bit
The following tools can be compiled from source:
llvm-git-main-32bit
llvm-git-main-64bit
clang-tag-e1.38.30-32bit
clang-tag-e1.38.31-32bit
fastcomp-clang-tag-e1.38.30-64bit
fastcomp-clang-tag-e1.38.31-64bit
fastcomp-clang-master-32bit
fastcomp-clang-master-64bit
emscripten-tag-1.38.30-32bit
emscripten-tag-1.38.31-32bit
emscripten-tag-1.38.30-64bit
emscripten-tag-1.38.31-64bit
binaryen-tag-1.38.30-32bit
binaryen-tag-1.38.31-32bit
binaryen-tag-1.38.30-64bit
binaryen-tag-1.38.31-64bit
emscripten-main-32bit
emscripten-main-64bit
binaryen-main-32bit
binaryen-main-64bit
ninja-git-release-64bit
ccache-git-emscripten-64bit
Items marked with * are activated for the current user.
Items marked with (*) are selected for use, but your current shell environment is not configured to use them. Type "emsdk_env.bat" to set up your current shell to use them, or call "emsdk activate --permanent <name_of_sdk>" to permanently activate them.
To access the historical archived versions, type 'emsdk list --old'
Run "git pull" to pull in the latest list.
C:\Users\MG\Desktop\git\emsdk-1.38.30>
从github安装指定版emsdk
C:\Users\MG\Desktop\git>git clone https://github.com/emscripten-core/emsdk.git
Cloning into 'emsdk'...
remote: Enumerating objects: 3281, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 3281 (delta 2), reused 1 (delta 0), pack-reused 3270
Receiving objects: 100% (3281/3281), 1.90 MiB | 220.00 KiB/s, done.
Resolving deltas: 100% (2138/2138), done.
C:\Users\MG\Desktop\git>cd emsdk
C:\Users\MG\Desktop\git\emsdk>emsdk install 3.1.10
Resolving SDK version '3.1.10' to 'sdk-releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'
Installing SDK 'sdk-releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'..
Installing tool 'node-14.18.2-64bit'..
Downloading: C:/Users/MG/Desktop/git/emsdk/zips/node-v14.18.2-win-x64.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/node-v14.18.2-win-x64.zip, 30570907 Bytes
Unpacking 'C:/Users/MG/Desktop/git/emsdk/zips/node-v14.18.2-win-x64.zip' to 'C:/Users/MG/Desktop/git/emsdk/node/14.18.2_64bit'
Done installing tool 'node-14.18.2-64bit'.
Installing tool 'python-3.9.2-nuget-64bit'..
Downloading: C:/Users/MG/Desktop/git/emsdk/zips/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
Unpacking 'C:/Users/MG/Desktop/git/emsdk/zips/python-3.9.2-4-amd64+pywin32.zip' to 'C:/Users/MG/Desktop/git/emsdk/python/3.9.2-nuget_64bit'
Done installing tool 'python-3.9.2-nuget-64bit'.
Installing tool 'java-8.152-64bit'..
Downloading: C:/Users/MG/Desktop/git/emsdk/zips/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
Unpacking 'C:/Users/MG/Desktop/git/emsdk/zips/portable_jre_8_update_152_64bit.zip' to 'C:/Users/MG/Desktop/git/emsdk/java/8.152_64bit'
Done installing tool 'java-8.152-64bit'.
Installing tool 'releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'..
Downloading: C:/Users/MG/Desktop/git/emsdk/zips/8bd05c7221b4ce34d4bedec40b672d94e681a765-wasm-binaries.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/win/8bd05c7221b4ce34d4bedec40b672d94e681a765/wasm-binaries.zip, 412938927 Bytes
Unpacking 'C:/Users/MG/Desktop/git/emsdk/zips/8bd05c7221b4ce34d4bedec40b672d94e681a765-wasm-binaries.zip' to 'C:/Users/MG/Desktop/git/emsdk/upstream'
Done installing tool 'releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'.
Done installing SDK 'sdk-releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'.
C:\Users\MG\Desktop\git\emsdk>
激活emsdk,如【3.1.10】
emsdk activate 3.1.10
C:\Users\MG\Desktop\git\emsdk>emsdk activate 3.1.10
Resolving SDK version '3.1.10' to 'sdk-releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit'
Setting the following tools as active:
node-14.18.2-64bit
python-3.9.2-nuget-64bit
java-8.152-64bit
releases-upstream-8bd05c7221b4ce34d4bedec40b672d94e681a765-64bit
Adding directories to PATH:
PATH += C:\Users\MG\Desktop\git\emsdk
PATH += C:\Users\MG\Desktop\git\emsdk\node\14.18.2_64bit\bin
Setting environment variables:
PATH = C:\Users\MG\Desktop\git\emsdk;C:\Users\MG\Desktop\git\emsdk\node\14.18.2_64bit\bin;C:\Users\MG\Desktop\git\emsdk\upstream\emscripten;C:\Program Files\Java\jdk1.8.0_321\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\PuTTY\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\OpenVPN\bin;C:\Program Files\MySQL\MySQL Server 5.7\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Git\cmd;C:\Go\bin;C:\Users\MG\Desktop\gRPC+protoBuf+CMake\cmake-3.17.2-win64-x64\cmake-3.17.2-win64-x64\bin;C:\SVN\kvnkcloudsrc\nkcldrun\dll;C:\cppunit\lib;C:\SVN\kvnkcloudsrc\nkcldrun\bin;C:\CMake3.15.5\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\Python37\scripts;C:\nasm-2.15;C:\SVN\kvnkcloudsrc\nkcld3\grpc\windows\dll;C:\Python37;C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64;C:\Program Files\Pandoc\;C:\wabt\bin;C:\SVN\kvnkcloudsrc\nkcldrun\sysdll\Qt\msvc2017_64\bin;C:\SVN\kvnkcloudsrc\nkcldrun\sysdll\Qt\msvc2017_64\lib;C:\SVN\kvnkcloudsrc\nkcldrun\sysdll;C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\;C:\NK6000\NK6000EN_L7\dll;C:\NK6000\NK6000EN_L7\bin;C:\ProgramData\chocolatey\bin;C:\NK6000\NK6000EN_L7\sysdll;C:\BCGSoft\Bin;C:\Program Files\Cppcheck;C:\SVN\kvnkcloudsrc\nkcld3\openssl\bin;C:\Users\MG\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\CVSNT\;;C:\Users\MG\AppData\Local\Programs\Microsoft VS Code\bin;C:\PyCharm\bin;C:\PyCharm Community Edition\bin;C:\Users\MG\AppData\Local\Pandoc\
EMSDK = C:/Users/MG/Desktop/git/emsdk
EM_CONFIG = C:\Users\MG\Desktop\git\emsdk\.emscripten
EMSDK_NODE = C:\Users\MG\Desktop\git\emsdk\node\14.18.2_64bit\bin\node.exe
EMSDK_PYTHON = C:\Users\MG\Desktop\git\emsdk\python\3.9.2-nuget_64bit\python.exe
JAVA_HOME = C:\Users\MG\Desktop\git\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 register this environment permanently, rerun this command with the option --permanent.
C:\Users\MG\Desktop\git\emsdk>
查看emcc版本
emcc -v
C:\Users\MG\Desktop>emcc -v
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.10 (c3fe57af0504fe24fc4ba697feb8c204f3c80022)
clang version 15.0.0 (https://github.com/llvm/llvm-project 8bc29d14273b05b05d5a56e34c07948dc2c770d3)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: C:\Users\MG\Desktop\git\emsdk\upstream\bin
C:\Users\MG\Desktop>
验证升级后的emsdk
创建 hello.cc
文件:
#include <iostream>
int main()
{
std::cout <<"Hello World!" << std::endl;
}
编译hello.cc
工程:
emcc hello.cc -o hello.html
生成如下文件:
hello.cc hello.html hello.js hello.wasm
运行程序:
emrun --no_browser --port:8090 hello.html
打开浏览器,输入: http://127.0.0.1:8090
回车,并选择 hello.html
文件即可。