These are the bindings of GDevelop core classes to WebAssembly+JavaScript. This allows GDevelop Core libraries to run in a browser or on Node.js.
👋 Usually, if you're working on the GDevelop editor or extensions in JavaScript, you don't need to rebuild GDevelop.js. If you want to make changes in C++ extensions or classes, read this section.
Prerequisite tools installed:
Install Emscripten version 3.1.21
, as explained below or on the Emscripten installation instructions:
git clone https://github.com/emscripten-core/emsdk/
cd emsdk
git pull
./emsdk install 3.1.21
./emsdk activate 3.1.21
# On Windows, also install an additional Python package:
pip install setuptools
Whenever you try to build GDevelop.js in the future, you will have to load the emsdk environement into your terminal window again by running:
Linux/macOS | Windows (Powershell) | Windows (cmd.exe) |
---|---|---|
source ./emsdk_env.sh |
./emsdk_env.ps1 |
./emsdk_env.bat |
With the emscripten environement loaded into your terminal, launch the build from GDevelop.js folder:
cd GDevelop.js
npm install # Only the first time.
npm run build # After any C++ changes.
⏱ The linking (last step) of the build can be made a few seconds faster, useful for development:
npm run build -- --variant=dev
.
You can then launch GDevelop 5 that will use your build of GDevelop.js:
cd ..
cd newIDE/app
npm install
npm start
More information in GDevelop 5 README.
npm test
You can build the library with various level of debugging and memory checks.
npm run build -- --variant=debug # Build with debugging information (useful for stacktraces)
npm run build -- --variant=debug-assertions # Build with assertions and "SAFE_HEAP=1", useful to find memory bugs.
npm run build -- --variant=debug-sanitizers # Build with memory sanitizers. Will be very slow.
It's then recommended to run the tests (npm test
) to check if there are any obvious memory bugs found.
The npm build task:
Binaries/embuild
directory,make
(or ninja
on Windows with CMake 3.17+) (you can also compile using MinGW-32 using npm run build-with-MinGW
).See the CMakeLists.txt for the arguments passed to the Emscripten linker. For instance, if you want to see the function names in stacks or for profiling, the compilation flags can be changed.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。