reckfellENGINE

CLion: SCons, compilation database и debugger

Правильный target, отдельные build/index/run этапы и текущая ошибка генератора.

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

Это настройка CLion для native C/C++ исходников Reckfell 1.0.0, а не для C# скриптов игры. Система сборки остаётся SCons. Индексация, компиляция и запуск debugger — отдельные этапы; успешное открытие папки не подтверждает ни один из двух последних.

До открытия проекта

Нужны compiler/SDK и рабочая SCons-команда для выбранных platform, target и arch. Используйте общую настройку исходников. Здесь команды генерации приведены по исходникам, но не выполнялись в рабочем дереве движка.

Текущий локальный SCons 4.11.1 не содержит SCons.Entity: два изолированно проверенных recursive-glob helper завершаются ImportError при этом импорте. Ошибка не исправлялась. Она блокирует связанные генераторные пути до работы IDE; не используйте старую database как доказательство успешной новой генерации. Полная SCons-конфигурация/генерация здесь не запускалась.

Compilation database для нужной конфигурации

Выполняйте генерацию из каталога Source, содержащего SConstruct. Для Windows x86_64 editor пример выбора настроек:

Командная строка
scons platform=windows target=editor arch=x86_64 dev_build=yes debug_symbols=yes compiledb=yes compiledb_gen_only=yes

compiledb=yes включает compilation_db tool, compiledb_gen_only=yes выбирает отдельную ветку записи compile_commands.json и выхода до compiler build actions. Конфигурация всё равно должна успешно пройти SCons setup; этот флаг не обходит её ошибки и не создаёт готовый executable. Для другой платформы/архитектуры замените параметры своей рабочей команды, не смешивая defines двух targets.

В CLion compilation database workflow откройте сам compile_commands.json как проект. Выберите toolchain для разрешения его команд; после смены compiler/platform/modules обновите database и перезагрузите её. Проверяйте, что нужный .cpp присутствует и имеет правильные include paths/defines.

Не загружайте Android nativeSrcsConfigs/CMakeLists.txt как универсальный способ «починить» native проект: этот файл прямо обозначен как non-functional editor support и содержит Android defines. Он может показать дерево файлов, но не подтверждает правильную Windows конфигурацию или сборку движка.

Custom Build Target

Создайте target в Settings → Build, Execution, Deployment → Custom Build Targets. Build tool должен вызывать SCons с вашими полноценными build arguments из Source, без compiledb_gen_only. Сам compile_commands.json не содержит link/run workflow. Официальное описание: custom targets.

Внешний tool запускается со своим environment: наличие выбранного debugger toolchain не гарантирует, что Build tool получил те же PATH/SDK/compiler variables. Сначала сравните команду и окружение с рабочим терминальным запуском. Не рассчитывайте на shell-подстановки вроде $(nproc) в поле Arguments.

Clean не нужен для обычного Run. Если настраиваете его, ограничьте теми же platform/target/arch/build options; не подменяйте действием удаления всей папки bin/Runtime. Генерация database не равна первой успешной сборке: Executable появится только после неё.

Run/Debug

Создайте Custom Build Application, выберите custom target и фактически созданный executable; поля описаны в run configuration. Для game target передайте --path к папке с project.reckfell, для editor дополнительно --editor. Рабочая папка должна соответствовать задаче, но не заменяет явный --path.

Символы должны соответствовать выбранному бинарнику. Проверьте простой native breakpoint в своём исходнике, правильный PID и реальное выполнение нужной ветки. Project Manager/editor/Play могут быть разными процессами; при Attach сравните executable path и command line. Самый большой PID не является надёжным правилом выбора.

Диагностика

СимптомПроверка
ImportError SCons.EntityСбой генераторного helper/tooling до IDE; см. общий build guide и сохранённую диагностику
Include/defines неверныеСвежая database именно для platform/target/arch/modules и matching resolve toolchain
Код индексируется, Build не работаетНастроенный custom Build tool, Source working directory и его environment
Запускается Project ManagerЯвный --path к папке с project.reckfell; для editor добавьте --editor
Breakpoint не срабатываетВыполняемый PID, соответствие binary/symbols/source и оптимизация
Нет возможности profiler/ValgrindЭто отдельный toolchain/инструмент; Custom Build Application не гарантирует их наличие

Границы проверки

SCons flags/ветки и Android CMake role сверены с исходниками; workflow — с текущей документацией CLion. Переиспользованы точные наблюдения ImportError helpers и CLI target-проверка, без повторного запуска. Генерация database, compiler/link, индексация, GUI и breakpoint в CLion не проверены. Исходники движка, Runtime и SDK не менялись.

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

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

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

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