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

A guide to compiling BehaviorTree.CPP source code into a static library (libbehaviortree_cpp.a) on Ubuntu. Руководство по компиляции исходного кода BehaviorTree.CPP в статическую библиотеку (libbehaviortree_cpp.a) в Ubuntu.

If you haven't set up C/C++ development tools on your Ubuntu machine, follow the Если вы еще не настроили инструменты разработки C/C++ на вашей системе Ubuntu, следуйте инструкции: Ubuntu C/C++ Development Environment Setup Guide Руководство по настройке среды разработки C/C++ на Ubuntu

Step 1: Install Build Dependencies Шаг 1: Установка зависимостей сборки

Ensure that wget and libtinyxml2-dev are installed on your system to download archives and link against XML support: Убедитесь, что wget и libtinyxml2-dev установлены в вашей системе для скачивания архивов и связывания с поддержкой XML:

sudo apt update && sudo apt install -y wget libtinyxml2-dev

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

You can browse the official GitHub releases page to check the latest available release assets: Вы можете перейти на страницу релизов GitHub, чтобы посмотреть список доступных версий:

View BehaviorTree.CPP Releases Смотреть релизы BehaviorTree.CPP

Download and extract the source archive for version 4.9.0 using wget: Скачайте и распакуйте архив с исходным кодом версии 4.9.0 с помощью wget:

cd ~
wget https://github.com/BehaviorTree/BehaviorTree.CPP/archive/refs/tags/4.9.0.tar.gz -O BehaviorTree.CPP-4.9.0.tar.gz
tar -xzf BehaviorTree.CPP-4.9.0.tar.gz
cd BehaviorTree.CPP-4.9.0

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

In the root directory of the extracted BehaviorTree.CPP source folder, create a script named build-ubuntu-static.sh with the following content: В корневой директории извлеченного исходного кода BehaviorTree.CPP создайте файл build-ubuntu-static.sh со следующим содержимым:

#!/usr/bin/env bash
set -e

BUILD_DIR="build-ubuntu-static"

rm -rf "$BUILD_DIR"
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"

cmake .. \
  -GNinja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX="$HOME/libs/behaviortree-4.9.0-ubuntu" \
  -DBTCPP_SHARED_LIBS=OFF \
  -DBTCPP_BUILD_TOOLS=OFF \
  -DBTCPP_EXAMPLES=OFF \
  -DBUILD_TESTING=OFF \
  -DBTCPP_GROOT_INTERFACE=OFF \
  -DBTCPP_SQLITE_LOGGING=OFF

cmake --build . --config Release --parallel $(nproc) --target install
Note: Примечание: We set -DBTCPP_GROOT_INTERFACE=OFF to disable the ZeroMQ dependency, which is only needed for live visual monitoring in Groot2. We also disable SQLite logging with -DBTCPP_SQLITE_LOGGING=OFF to allow a standalone compilation. Мы используем -DBTCPP_GROOT_INTERFACE=OFF, чтобы отключить зависимость ZeroMQ, необходимую для интерактивного мониторинга в Groot2. Также мы отключаем логирование SQLite с помощью -DBTCPP_SQLITE_LOGGING=OFF для автономной сборки.

Step 4: Run, Compile, and Clean Up Шаг 4: Запуск, сборка и очистка

Grant execution permissions to the script and run it in your terminal: Сделайте скрипт исполняемым и запустите его в терминале:

chmod +x build-ubuntu-static.sh
./build-ubuntu-static.sh

Upon completion, your compiled static library (libbehaviortree_cpp.a) along with headers will be installed in your specified CMAKE_INSTALL_PREFIX directory. После успешного завершения собранная статическая библиотека (libbehaviortree_cpp.a) вместе с заголовочными файлами будет установлена по пути, указанному в CMAKE_INSTALL_PREFIX.

Once installed, you can safely remove the temporary source directory and the downloaded archive: После установки вы можете безопасно удалить временную директорию с исходным кодом и скачанный архив:

cd ~ && rm -rf ~/BehaviorTree.CPP-4.9.0 ~/BehaviorTree.CPP-4.9.0.tar.gz

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

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

Integrating BehaviorTree.CPP Library with CMake on Windows & Ubuntu Интеграция C++-библиотеки BehaviorTree.CPP с CMake под Windows и Ubuntu


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