Closed Positiff88 closed 1 year ago
Я собирал проект с помощью Visual Studio 2019 и 2022. Стандарт языка, версию пакета SDK и набор инструментов платформы можно оставить по умолчанию как они заданы в файлах соотв. подпроектов.
Достаточно скачать репозиторий вместе с сабмодулями (зависимостями) и нажать Build в Visual Studio. Зависимости соберутся сами.
Также, стоит задать переменную окружения DISCIPLES2_PATH
указав папку с игрой, это позволит быстро проверять внесенные изменения.
Я пробовал собрать решение в Visual Studio 2019 таким образом: Клонирую сперва D2ModdingToolset. Проект скачивается, но с пустыми папками D2RSG, Detours, fmt, GSL, SLikeNet, sol2. Тогда я клонирую каждый из перечисленных проектов в соответствующую подпапку внутри D2ModdingToolset. После этого пытаюсь собрать решение mss32, но возникает ошибка: C1083 Не удается открыть файл включение: sol/sol.hpp: No such file or directory, ScenarioGenerator C:\Repos\D2ModdingToolset\D2RSG\ScenarioGenerator\src\generatorsettings.cpp 29
Может я что-то делаю не так? Как правильно скачать репозиторий вместе с зависимостями?
Отвечаю на английском чтобы было понятно всем. Writing in english for @Haikyo-sama as well
Clone repo and initialize all its submodules
Open mss32.sln using Visual Studio Community 2019 or 2022, don't change SDK or platform toolset:
Setup environment variable DISCIPLES2_PATH
with path to your Disciples 2 Rise of the Elves 3.01 game. Use that variable in mss32 project settings so after build library will be placed there. Don't forget to rename original mss32.dll to mss23.dll
Setup debug path at working directory accordingly:
Build mss32 project and run 'Debug', the game will start with debugger attached to our proxy dll. Any breakpoints that you set will work as expected:
Build produces the following error: The BaseOutputPath/OutputPath property is not set for project 'mss32.vcxproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='Win32'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform. mss32 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 820
Seems that this error happened because I've added DISCIPLES2_PATH system variable while my Visual Studio was already opened. Problem vanished when I restarted it.
I've successfully build the project. Thanks for help.
Пожалуйста добавьте в проект информацию касательно процесса сборки решения. Какая нужна версия Visual Studio? Какой должен быть Стандарт языка C++, если это важно? Какими в свойствах проекта должны быть Версия пакета SDK для Windows и Набор инструментов платформы?
Уже несколько дней безрезультатно пытаюсь собрать проект чтобы внести свои правки. Зависимости вроде удалось собрать с горем пополам, а вот mss32 пока никак. Выдаёт кучу ошибок вида: Ошибка C2027 использование неопределенного типа "std::_Get_first_parameter<_Ty>" xmemory0 266
Мои параметры: Среда разработки - Visual Studio 2017 Стандарт языка - Стандарт ISO C++17 (/std:c++17) Версия пакета SDK для Windows - Visual Studio 2017 (v141) Набор инструментов платформы - 10.0.17763.0