Building BehaviorTree.CPP Static Library for WebAssembly (Emscripten & CMake) Сборка статической библиотеки BehaviorTree.CPP для WebAssembly (Emscripten и CMake)

A guide to compiling BehaviorTree.CPP source code into a static library (libbehaviortree_cpp.a) for WebAssembly on Windows using Emscripten and CMake. Руководство по компиляции исходного кода BehaviorTree.CPP в статическую библиотеку (libbehaviortree_cpp.a) для WebAssembly на Windows с помощью Emscripten и CMake.

Before proceeding, make sure you have set up your build environment using the appropriate guides: Перед продолжением убедитесь, что вы настроили среду сборки, следуя соответствующим инструкциям:

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

Download the latest BehaviorTree.CPP source archive (.zip or .tar.gz) from the official GitHub releases page: Скачайте последний архив с исходным кодом BehaviorTree.CPP (.zip или .tar.gz) с официальной страницы релизов GitHub:

Download BehaviorTree.CPP Releases Скачать релизы BehaviorTree.CPP

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 BehaviorTree.CPP source folder, create an empty file named build-wasm-static.bat and paste the following content into it: В корневой директории распакованного исходного кода BehaviorTree.CPP создайте пустой файл build-wasm-static.bat и вставьте в него следующее содержимое:

@echo off

if exist build-wasm-static rmdir /s /q build-wasm-static
mkdir build-wasm-static
cd build-wasm-static

call emcmake cmake .. ^
  -G "MinGW Makefiles" ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX=C:/libs/behaviortree-4.9.0-wasm ^
  -DCMAKE_CXX_FLAGS="-include emscripten/fiber.h" ^
  -DBTCPP_SHARED_LIBS=OFF ^
  -DBTCPP_BUILD_TOOLS=OFF ^
  -DBTCPP_EXAMPLES=OFF ^
  -DBUILD_TESTING=OFF ^
  -DBTCPP_GROOT_INTERFACE=OFF ^
  -DBTCPP_SQLITE_LOGGING=OFF

call emmake cmake --build . --config Release --parallel --target install
Note: Примечание: We set -DBTCPP_GROOT_INTERFACE=OFF to disable the ZeroMQ dependency, and -DBTCPP_SQLITE_LOGGING=OFF to remove SQLite requirements. Ensure the Emscripten environment is activated in your Command Prompt (via emsdk_env.bat) before running the build script. Мы используем -DBTCPP_GROOT_INTERFACE=OFF, чтобы отключить ZeroMQ, и -DBTCPP_SQLITE_LOGGING=OFF для исключения SQLite. Убедитесь, что окружение Emscripten активировано в командной строке (через emsdk_env.bat) перед запуском скрипта сборки.

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

Run build-wasm-static.bat via Command Prompt (CMD) with Emscripten activated so you can catch any potential compilation errors in the console. Once completed, your compiled static library (libbehaviortree_cpp.a) along with header files will be installed in the output path set by CMAKE_INSTALL_PREFIX (C:/libs/behaviortree-4.9.0-wasm). Запустите build-wasm-static.bat через командную строку (CMD) с активированным Emscripten, чтобы вы могли увидеть возможные ошибки сборки прямо в консоли. После завершения собранная статическая библиотека (libbehaviortree_cpp.a) вместе с заголовочными файлами будет установлена по пути, указанному в CMAKE_INSTALL_PREFIX (C:/libs/behaviortree-4.9.0-wasm).

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

Now that you have configured your environment, you can proceed with integrating the BehaviorTree.CPP library into your CMake WebAssembly projects: Теперь, когда вы настроили окружение, вы можете перейти к интеграции библиотеки BehaviorTree.CPP в ваши WebAssembly-проекты на CMake:

Integrating BehaviorTree.CPP Library for WebAssembly (Emscripten & CMake) Интеграция C++-библиотеки BehaviorTree.CPP для 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