这个问题在4.19.1版本已经被官方解决。
报错见以下链接
https://issues.unrealengine.com/issue/UE-57178
error: macro expansion producing ‘defined’ has undefined behavior
解决办法,下载4.19.1及以上版本的引擎,在引擎文件夹中找到IOSPlatformFramePacer.cpp
(Engine/Source/Runtime/ApplicationCore/Private/IOS/IOSPlatformFramePacer.cpp)
去替换老版本引擎中的文件,就可以了。
还有一个报错是:
error: lambda capture ‘class-name’ is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
详见:
https://answers.unrealengine.com/questions/776429/error-lambda-capture-class-name-is-not-required-to.html
解决办法:
在
Engine/Source/Runtime/Core/Public/IOS/IOSPlatformCompilerPreSetup.h
最后加上
// Apple LLVM 9.1.0 (Xcode 9.3)
#if (clang_major > 9) || (clang_major == 9 && clang_minor >= 1)
#pragma clang diagnostic ignored “-Wunused-lambda-capture”
#endif