Building Recast Navigation Static Libraries for WebAssembly (Emscripten & CMake) Сборка статических библиотек Recast Navigation для WebAssembly (Emscripten и CMake)

A guide to compiling Recast Navigation source code into static libraries for WebAssembly using Emscripten and CMake. Руководство по компиляции исходного кода Recast Navigation в статические библиотеки для WebAssembly с помощью Emscripten и CMake.

If you haven't set up Emscripten SDK and CMake on your machine, follow the Если вы еще не настроили Emscripten SDK и CMake на своем компьютере, следуйте инструкции: Emscripten & CMake Setup Guide Руководство по настройке Emscripten и CMake

Step 1: Download Recast Navigation Source Code Шаг 1: Скачивание исходного кода Recast Navigation

Download the latest source archive from the main branch of the official GitHub repository: Скачайте свежий архив с исходным кодом из ветки main официального репозитория GitHub:

Download Recast Navigation (main branch) Скачать Recast Navigation (ветка main)

Extract the downloaded archive to a convenient directory on your machine. Распакуйте скачанный архив в удобную директорию на вашем компьютере.

Step 2: Create the Build Script Шаг 2: Создание скрипта сборки

In the root directory of the extracted Recast Navigation source folder, create an empty file named build-wasm-static.bat and paste the following content into it: В корневой директории распакованного исходного кода Recast Navigation создайте пустой файл build-wasm-static.bat и вставьте в него следующее содержимое:

@echo off

set BUILD_DIR=build-wasm-static

if exist %BUILD_DIR% rmdir /s /q %BUILD_DIR%
mkdir %BUILD_DIR%
cd %BUILD_DIR%

call emcmake cmake .. ^
  -G "MinGW Makefiles" ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX="C:/libs/recastnavigation-wasm" ^
  -DCMAKE_CXX_STANDARD=20 ^
  -DCMAKE_CXX_STANDARD_REQUIRED=ON ^
  -DBUILD_SHARED_LIBS=OFF ^
  -DRECASTNAVIGATION_DEMO=OFF ^
  -DRECASTNAVIGATION_TESTS=OFF ^
  -DRECASTNAVIGATION_EXAMPLES=OFF

call emmake cmake --build . --config Release --parallel --target install
Note: Примечание: Make sure to adjust the CMAKE_INSTALL_PREFIX path according to your target installation directory. Setting RECASTNAVIGATION_DEMO=OFF and RECASTNAVIGATION_TESTS=OFF ensures only the core static libraries (Recast, Detour, DetourCrowd, DebugUtils, etc.) are compiled for WebAssembly. Убедитесь, что путь к CMAKE_INSTALL_PREFIX соответствует вашей целевой директории установки. Флаги RECASTNAVIGATION_DEMO=OFF и RECASTNAVIGATION_TESTS=OFF гарантируют сборку только основных статических библиотек (Recast, Detour, DetourCrowd, DebugUtils и др.) под WebAssembly.

Step 3: Run and Compile Шаг 3: Запуск и сборка

Run build-wasm-static.bat via Command Prompt (CMD) where your Emscripten environment is initialized (emsdk_env.bat) so you can catch any potential compilation errors in the console. Once completed, your compiled static libraries (libRecast.a, libDetour.a, libDetourCrowd.a, etc.) along with header files will be installed in the output path set by CMAKE_INSTALL_PREFIX. Запустите build-wasm-static.bat через командную строку (CMD), в которой активировано окружение Emscripten (emsdk_env.bat), чтобы вы могли видеть возможные ошибки сборки прямо в консоли. После завершения собранные статические библиотеки (libRecast.a, libDetour.a, libDetourCrowd.a и др.) вместе с заголовочными файлами будут установлены по пути, указанному в CMAKE_INSTALL_PREFIX.

Step 4: Next Steps Шаг 4: Следующие шаги

Now that you have compiled and installed the Recast Navigation static libraries for WebAssembly, you can integrate them into your C++ projects using CMake: Теперь, когда вы собрали и установили статические библиотеки Recast Navigation для WebAssembly, вы можете интегрировать их в свои C++ проекты с помощью CMake:

Integrating Recast Navigation Static Libraries for WebAssembly (Emscripten & CMake) Интеграция статических библиотек Recast Navigation для WebAssembly (Emscripten и CMake)


Support My Work Поддержать проект

If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.

Sberbank (Russia only) Сбербанк (только для РФ)

Sberbank SBP QR Code

Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)

+7 (917) 212-29-59

USDT TRC20

USDT TRC20 QR Code

Support via Cryptocurrency Поддержка криптовалютой

TMtY1YifNf6FKvgeFmqKGQR4NStKr3csGp