reckfellENGINE

Сборка исходников для Linux/BSD

Зависимости, SCons, подготовка C# и диагностика результата.

На этой странице

Здесь описана сборка исходников Reckfell 1.0.0 для Linux/BSD. Для упаковки игры готовым редактором используйте экспорт Linux. Команды ниже — инструкции настройки; в этом проходе движок для Linux/BSD не компилировался и не запускался.

Подготовьте хост

Работайте в Source с файлом SConstruct. Сборка требует Python 3.9+ и SCons 4.4+. Нужны компилятор/линкер с C++17 и заголовки/библиотеки выбранной архитектуры. Проверьте python3 --version, scons --version, c++ --version и pkg-config --version в том же терминале, где будете собирать.

Детектор платформы ожидает POSIX-хост, отличный от macOS, и pkg-config. Параметр platform=linuxbsd в Windows не создаёт Linux toolchain. BSD использует то же имя платформы, но зависимости соответствуют хосту; Linux-бинарник автоматически не становится BSD-бинарником.

Зависимости определяются опциями:

ВозможностьЧто проверить
X11x11, xcursor, xinerama, xext, xrandr, xrender и xi при линковке через pkg-config
Waylandwayland-scanner; библиотеки client/cursor/egl без динамических wrappers
Системные шрифты/звук/desktopfontconfig, ALSA/PulseAudio, D-Bus и остальные включённые backend
Собственные системные библиотекиDevelopment-пакеты для каждого builtin_*=no
ДоступностьПодходящий AccessKit C SDK в accesskit_sdk_path либо намеренная сборка accesskit=no

use_sowrap=yes может использовать комплектные заголовки и динамическую загрузку библиотек; runtime-зависимости от этого не исчезают. В текущих исходниках отсутствие wayland-scanner отключает Wayland с предупреждением. Читайте предупреждения конфигурации, а не считайте успешную сборку доказательством сохранения всех возможностей. Имена пакетов зависят от OS/версии: устанавливайте development-пакет конкретной отсутствующей библиотеки вместо копирования неподписанной команды пакетного менеджера.

Соберите редактор с C#

Пример для x86_64 из Source:

Командная строка
scons platform=linuxbsd target=editor arch=x86_64 module_mono_enabled=yes -j4

platform выбирает OS backend, target — редактор/шаблоны, arch — CPU результата. Для Clang добавьте use_llvm=yes. Другому CPU нужны соответствующие компилятор/sysroot/зависимости: одного arch недостаточно для кросс-сборки. -j4 — начальное ограничение заданий, не гарантия памяти или скорости. При нехватке памяти на компиляции/линковке уменьшайте jobs; у LTO отдельные затраты памяти.

Ожидаемый native-результат — в Source/bin. Имя также зависит от dev_build, precision и суффиксов модулей. Сохраняйте символы для отладки. Не используйте compiledb_gen_only=yes или vsproj_gen_only=yes вместо обычной сборки.

Одного native-бинарника недостаточно для C#. Модуль по умолчанию выключен: сохраняйте module_mono_enabled=yes в согласованных конфигурациях редактора и шаблонов. Нужен .NET SDK 10: сгенерируйте glue новым редактором, затем соберите его managed assemblies и локальные пакеты. RECKFELL_BINARY должен указывать на реальный новый файл, а не посторонний установленный редактор:

Командная строка
RECKFELL_BINARY="/absolute/Source/bin/reckfell.linuxbsd.editor.x86_64.mono"
"$RECKFELL_BINARY" --headless --generate-mono-glue modules/mono/glue
python3 modules/mono/build_scripts/build_assemblies.py --reckfell-output-dir=bin --push-nupkgs-local=bin/NuGet
"$RECKFELL_BINARY" --path /absolute/project --editor

Путь — пример для этой конфигурации. Проверяйте успех каждой команды: старый файл в bin не подтверждает новую успешную сборку. Проверьте bin/ReckfellSharp, bin/NuGet и соответствующий SDK 1.0.0. В каталоге проекта нужен project.reckfell. Сохраняйте согласованные managed/native-артефакты, не смешивая результаты разных наборов возможностей.

Шаблоны и headless

Для игровых шаблонов соберите target=template_debug и target=template_release с согласованными platform, arch, precision и C#-модулем. Это отдельные результаты; редактор не является export template. Укажите нужные custom templates в export preset и проверьте полученную игру на целевой OS.

--headless — режим запуска, не отдельный target и не доказательство удаления графических/системных зависимостей при сборке. Он не подтверждает GPU-рендеринг. Скомпилированный бинарник не лишён зависимостей: проверьте libc/ABI, динамические библиотеки, драйверы и .NET-компоненты вашей конфигурации. Проверяйте минимальную реально поддерживаемую OS; одна сборка не доказывает совместимость со всеми дистрибутивами.

Разберите первую ошибку

ОшибкаСледующее действие
SConstruct не найденСобирайте из Source
Библиотека не найдена через pkg-configУстановите development-файлы целевой архитектуры; проверьте PKG_CONFIG_PATH и sysroot
После сборки нет WaylandПроверьте обнаружение scanner и предупреждения конфигурации
C++ собрался, C# недоступенПроверьте опцию модуля, .NET SDK 10, glue и сборку assemblies/packages
После ошибки остался бинарникСверьте первую ошибку, код завершения и время результата
Здесь работает, на другой машине нетПроверьте там архитектуру, ABI и runtime-зависимости

Опции исходников и стадии C#-сборки сверены; сохранённые Windows CLI-проверки подтверждают только семантику --path. Компиляция Linux/BSD, установка зависимостей, рендеринг, экспорт и распространение не проверены. Source, установленный Runtime и SDK не изменялись.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.