Types suddenly unknown after adding new classes

Hello,

After our project gets bigger, the following problem suddenly occurred after a new header with a new class was added:

Suddenly the compiler does not recognize some types in random cpp-files any more.

We are compiling with the binary-4.11 edition.

What I am asking myself is, why it worked in the first place, because the type of the object was never part of the precompiled header and the objects-header was never included in the cpp itself.

I can test this if I add “bFasterWithoutUnity = true;” to the build. In this case, the compiler behaves like expected because then he starts to complaining about all missing types.

So, my question is, why the build-tool would know these types if I compile with PCHs enabled, although they are not part of the PCH.

Could you perhaps give some insights into what UHT/UBT is doing to make types available globally in cpps if you are using PCHs?

Like I said, it should not have been compiled in the first place, but it seems that UBT is more tolerant with PCHs enabled.

Unfortunately a repro is very difficult because it happened at a time where the complexity was already too big.

But, we could send you our project-sources with a known problem-case, if that would help.

Thanks.