Arnas Puidokas

Graphics Programmer Portfolio

🏠 Home ⭐ Best Project πŸ“ All Projects πŸ‘€ About Me

Emscripten Web Build Cheat Sheet

by

Emscripten Web Build Cheat Sheet

Author: Arnas

1. One-Time Setup

Clone SDK

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk

Clone SDK

emsdk install latest

Activate Latest Version

emsdk install latest

2. Start Emscripten

Home

cd C:\Users\apuid\emsdk

University

cd C:\Users\username\emsdk

Activate Enviroment

emsdk_env.bat

Verify Installation

emcc --version

3. Open Project

Home

cd "C:\Users\apuid\Documents\GitHub\gdev60020-25-cross-platform-framework-this-team-is-an-xbox\CPED This Team is an Xbox\CPED This Team is an Xbox"

University

cd "C:\Users\username\Documents\GitHub\gdev60020-25-cross-platform-framework-this-team-is-an-xbox\CPED This Team is an Xbox\CPED This Team is an Xbox"

4. Basic Builds

Blank WebGL2 Build

emcc main.cpp -o index.html -s USE_WEBGL2=1 -s FULL_ES3=1

Build With Assets

emcc main.cpp -o index.html -s USE_WEBGL2=1 -s FULL_ES3=1 --preload-file smile.png

5. Full Project Build

emcc main.cpp GameEngine.cpp GameObject.cpp BaseRenderer.cpp WebRenderer.cpp RendererTypes_web.cpp -o index.html -s USE_WEBGL2=1 -s FULL_ES3=1 -s ALLOW_MEMORY_GROWTH=1 -sASSERTIONS=2 --preload-file smile.png

6. Debug Build

Don’t publish debug build

emcc main.cpp GameEngine.cpp GameObject.cpp BaseRenderer.cpp WebRenderer.cpp RendererTypes_web.cpp -o index.html -sASSERTIONS=2 -sSAFE_HEAP=1 -sSTACK_OVERFLOW_CHECK=2 -gsource-map --preload-file smile.png

7. Run Local Server

Start Server

python -m http.server

Open Browser

http://localhost:8000/

8. Common Flags

| Flag | Description | |β€”β€”β€”β€”β€”β€”β€”β€”β€”|β€”β€”β€”β€”β€”β€”β€”β€”β€”| | -s USE_WEBGL2=1 | Enable WebGL2 | | -s FULL_ES3=1 | Enable OpenGL ES3 support | | -s ASSERTIONS=2 | Runtime assertions | | -s SAFE_HEAP=1 | Memory debugging | | -s STACK_OVERFLOW_CHECK=2 | Stack protection | | -s ALLOW_MEMORY_GROWTH=1 | Dynamic memory growth |

<- Back to Web Port

<- Back to Overview