升级 UE5.7 编译iOS时出现incomplete type的问题

已有项目在升级UE5.7后, 发现编译Android, PC, 编辑器 等平台都没问题. 但是编译iOS时. 报了很多incomplete type的问题

通过UBT的Log可以看到UE5.7的SharedPCHs里, Slate的优先级高于Engine.

image

 根本原因是UE5.7里, ApplicationCore.Build.cs 判断iOS平台后加了一个 BackgroundHTTP的模块依赖. 间接导致Slate引用了Engine模块, 导致Slate和Engine的Priority都是3, 且Slate先注册.

导致项目模块查找PCH时, 找到了Slate. 引用了Slate的PCH而不是Engine的. 所以Engine项目的引用如果没显式的声明require都会报错.

image

 

解决办法: 

让Engine的Priority > Slate

 

UE 让人无语 ++;

 

 

 
posted @ 2025-11-25 18:35  wmalloc  阅读(3)  评论(0)    收藏  举报