升级 UE5.7 编译iOS时出现incomplete type的问题
已有项目在升级UE5.7后, 发现编译Android, PC, 编辑器 等平台都没问题. 但是编译iOS时. 报了很多incomplete type的问题
通过UBT的Log可以看到UE5.7的SharedPCHs里, Slate的优先级高于Engine.

根本原因是UE5.7里, ApplicationCore.Build.cs 判断iOS平台后加了一个 BackgroundHTTP的模块依赖. 间接导致Slate引用了Engine模块, 导致Slate和Engine的Priority都是3, 且Slate先注册.
导致项目模块查找PCH时, 找到了Slate. 引用了Slate的PCH而不是Engine的. 所以Engine项目的引用如果没显式的声明require都会报错.

解决办法:
让Engine的Priority > Slate
UE 让人无语 ++;
By wmalloc

浙公网安备 33010602011771号