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.