前言
在写 UE 项目时,使用 VS 2022 进行编译,发现编译不过。
原因是少了头文件,导致某些了类型缺失。
问题发现
但是很奇怪的是,以前编译没问题,在原本应该出问题的 cpp 文件里面加了一行注释之后,编译就出问题了。
问了同事,说可能是 UE 的编译优化,联合编译:bUseUnity
官方文档
bUseUnityBuild
是否将C++代码统一到更大的文件中,从而加快编译。
如果设置
bUseUnityBuild = true;
那么一些 cpp 代码会被整合到一个更大的文件,具体整合规则没研究过。
比如叫做:Module.xxx.1.cpp,Module.xxx.2.cpp 。。。
打开一个整合文件,发现是这样的。
踩坑
它默认是 true 的,所以当它改成 false 时,可能你自己写的代码就会编译不过,根本原因是少了头文件,加上对于头文件就好了。