Visual Studio: проект C++ и ограничения генератора
Рабочая папка, параметры генерации и подтверждённая диагностика SCons.
Visual Studio для C++-исходников
Для сборки требуется C++ toolchain, а не только редактор кода. Установите необходимые компоненты через workload Desktop development with C++ и сверяйте поддерживаемые инструменты с руководством сборки. Это настройка исходников движка; для игрового C# используйте проект игры.
Что генерирует SCons
В каталоге Source параметр vsproj=yes запускает генератор Visual Studio. Имя задаёт vsproj_name, по умолчанию reckfell. Генератор использует шаблоны из misc/msvs/ и создаёт решение, C++-проект и конфигурационные props.
| Файл или параметр | Назначение |
|---|---|
reckfell.sln | Решение с конфигурациями проекта. |
reckfell.vcxproj | Проект с исходниками и импортами настроек. |
reckfell.*.generated.props | Параметры конкретной комбинации platform/target/arch. |
reckfell.vs.user.props | Локальные дополнения, импортируемые при наличии файла. |
vsproj_gen_only | По умолчанию true: генератор завершает процесс до компиляции. |
vsproj_props_only | Обновление props без перезаписи решения и vcxproj. |
Созданное решение не означает, что движок собран. Текущие шаблоны передают команды сборки обратно SCons. Указание имени выходного EXE в IDE не меняет имя файла, которое формирует сборочная система. О модели внешней сборки — документация Microsoft.
Ограничение текущих исходников
В изолированном прогоне helper генератора glob_recursive_2 завершился ImportError: он импортирует отсутствующий в SCons 4.11.1 модуль SCons.Entity. Общий glob_recursive имеет тот же дефект. Полный генератор решения в этом прогоне не запускался. Не воспринимайте наличие параметра vsproj как подтверждение успешной генерации.
До исправления сборочных helper-функций можно открыть исходники как папку для чтения и правок. Это не обещает настроенную сборку или полный IntelliSense. Если решение уже существует, проверьте его происхождение и актуальность props; старый файл не доказывает исправность текущего генератора. Подробности — в обзоре настройки IDE.
После восстановления генерации
- Выберите ту же platform/target/arch, с которой настраивали SCons. Для редактора нужен target editor; шаблоны экспорта — отдельные targets.
- Откройте созданное решение и убедитесь, что импортируется props именно этой конфигурации. Видимые в списке комбинации не означают, что параметры всех платформ уже сгенерированы.
- Изучите фактическую команду сборки и её окружение. Успешная индексация не подтверждает наличие компилятора, SDK и всех зависимостей.
- При изменении конфигурации обновите генерируемые настройки. Локальные дополнения храните отдельно от перезаписываемых generated-файлов.
Для символов отладки есть отдельный параметр debug_symbols; dev_build также включает DEV_ENABLED и влияет на другие параметры. Не подменяйте ими друг друга без понимания сборочной конфигурации.
Проверены текущие шаблоны, значения параметров и отказ helper-функций. Создание решения через весь SConstruct, сборка в Visual Studio и работа нативного отладчика не проверены. Движок не изменялся.