Когда я получил доступ к своему проекту Unreal Engine 4.27, мне очень захотелось его попробовать и поработать над ним. снова. Итак, я установил UE4.27 с помощью программы запуска Epic Games, и, хотя движок, по-видимому, работает нормально, при создании проекта я получаю много ошибок, независимо от платформы или проекта. Вот часть журнала, которая, по моему мнению, наиболее важна для понимания реальной проблемы:
...Engine/Source/Runtime/Core/Public/Templates/IsTriviallyCopyAssignable.h:13 :17: ошибка: встроенный __has_trivy_assign устарел; вместо этого используйте __is_тривиально_assignable [-Werror,-Wdeprecated-builtins]
13 | enum { Value = __has_тривиальный_assign(T) };
| ^
(и другие ошибки, связанные с устаревшими функциями)
Насколько я понимаю, Engine по-прежнему использует устаревшие и нерекомендуемые функции в своем коде. Я использую Mac и у меня Xcode 16.
Рекомендуемой версией Xcode для UE4.27 является Xcode 12.4, но она больше не поддерживается в последней версии macOS.
Краткое описание проблемы: Unreal Engine 4.27 требует компиляции Xcode 12.4, но такая версия не поддерживается в новых версиях macOS
Есть есть ли способ успешно собрать и использовать Unreal Engine 4.27 в последних версиях macOS?
Или действительно нет никакого исправления, и мне придется обновить свой проект до Unreal Engine 5, который, как я предполагаю, работает с новейшими версиями Xcode?
Мне приходилось сталкиваться с этими ошибками несколько раз.
Поначалу я обнаружил их только при экспорте игры.
Чтобы это исправить, я просто добавил некоторые дополнительные аргументы в MyProject > Intermediate > Source > MyProject.Target.cs, добавив следующую строку:
Код: Выделить всё
AdditionalCompilerArguments = "-Wno-error -Wno-deprecated-builtins";Но я не хотел работать со «сломанным и нестабильным движком», который удаётся выстоять лишь благодаря нескольким аргументы во временном скрипте target.cs.
В тот момент я подумал, что было бы неплохо собрать UE4.27 из исходного кода.
Я клонировал репозиторий, запустил «Setup.command» и «GenerateProjectFiles.command».
Когда я открыл Xcode для первой сборки ShaderCompileWorker, я сразу же получил ошибки. И знаете что, те же самые ошибки, с которыми я столкнулся.
Я пробовал редактировать исходный код лично, и с некоторыми из них мне удалось справиться. Но даже несмотря на то, что у меня есть некоторый опыт работы с C, C++ и написанием заголовков, некоторые ошибки мне просто исправить лично было гораздо сложнее.
Есть ли другие способы избавиться ошибки без понижения версии Xcode?
Кто-нибудь знает, будет ли Epic Games пересматривать код Unreal Engine 4.27 в будущем, чтобы он работал с более новыми версиями Xcode (и, возможно, с Visual Studio) для людей на окна)?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -2024-2025
Мобильная версия