rkirgizov Опубликовано 18 августа, 2018 Опубликовано 18 августа, 2018 Товарищи, есть такой мод под Skyrim SE, Enhanced No Poison Dialog, найти его можно на Нексусе. Автор выложил исходники там же. Я его использую в своём моде на яды, но мне надо изменить буквально пару строк. Скачал исходники, установил MS Visual Studio 2012, 2013, 2105, но не могу дать ума, как скомпилировать - не может найти связи внутри проекта. Ссылки восстановил, все include-файлы нормально подключаются, но некоторые переменные и объявления всё равно выдают ошибку... Если подключаешь через include файлы.h, которые определяют эти переменные, то ошибки появляются уже в файлах SKSE… вообще хрен поймёшь. Если кто в курсе темы, то прошу помочь либо советом, либо скомпилить эти исходники, что там в коде убрать надо я подскажу. Делаю на Win10 Понимаю, что где-то связи не проходят, но где и что... Visual Studio выдаёт такие предупреждения: ПредупреждениеC4183STATIC_ASSERT: отсутствие возвращаемого типа; предполагается функция-член, возвращающая "int"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h88 ПредупреждениеC4183PluginHandle: отсутствие возвращаемого типа; предполагается функция-член, возвращающая "int"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\PluginAPI.h40 ПредупреждениеC4183GetUIntPtr: отсутствие возвращаемого типа; предполагается функция-член, возвращающая "int"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Relocation.h45 ПредупреждениеC4183GetUIntPtr: отсутствие возвращаемого типа; предполагается функция-член, возвращающая "int"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Relocation.h75 ПредупреждениеC4183STATIC_ASSERT: отсутствие возвращаемого типа; предполагается функция-член, возвращающая "int"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h51 И такие ошибки (ещё штук сто, но они подобные) ОшибкаC2059синтаксическая ошибка: protectedEnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h59 ОшибкаC1903не удается восстановить после предыдущих ошибок; остановка компиляцииEnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h112 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h76 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h77 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h78 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h80 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h81 ОшибкаC2039string: не является членом "std"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h84 ОшибкаC2039s_baseAddr: не является членом "RelocationManager"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h99 ОшибкаC2039s_baseAddr: не является членом "RelocationManager"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h100 ОшибкаC2039s_baseAddr: не является членом "RelocationManager"EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h102 ОшибкаC2059синтаксическая ошибка: *EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\PluginAPI.h40ОшибкаC2059синтаксическая ошибка: )EnhancedNoPoisonDialogd:\skse64\src\skse64\skse64_common\Utilities.h63 ОшибкаC2059синтаксическая ошибка: sizeofEnhancedNoPoisonDialogd:\skse64\src\skse64\skse64\GameTypes.h51
Karandra Опубликовано 18 августа, 2018 Опубликовано 18 августа, 2018 Странно всё как-то собрано в этом проекте. Иди в настройки проекта -> C/C++ -> Расширенные -> И убери всё из "Принудительные включаемые файлы". Добавь этот включаемый файл в начало main.cpp: #include <common/IPrefix.h>. Целиком будет так: #include <common/IPrefix.h> #include "skse64/PluginAPI.h" #include "skse64/GameObjects.h" #include "skse64_common/Relocation.h" #include "skse64_common/SafeWrite.h" #include "skse64_common/skse_version.h" #include "skse64_common/BranchTrampoline.h" #include "xbyak/xbyak.h" #include <shlobj.h> Возможно соберётся. И ещё, сам SKSE тебе тоже нужно собрать как статическую библиотеку (lib) и слинковать со своим проектом. Собирай как Release для x64. 1 Kortex Mod Manager: Discord | GitHub | Web-site
rkirgizov Опубликовано 18 августа, 2018 Автор Опубликовано 18 августа, 2018 Сделал. К совету ещё пришлось перекомпилить common, skse64_common. И добавить ссылки на их .lib в проект. Спасибо, совет помог!)
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти