When attempting to compile an externally provided C++ codebase, I've encountered a confusing problem:
Several of the header files are missing
The C++ language standard does not support "global headers", but individual compilers do.
It's called a forced include.
With Visual C++ it's the option
/FI, and with g++ it's option
With Visual C++, however, the usual way to include common headers is to place those includes in a file called
stdafx.h, and include that file in every translation unit, first of all. That's part of Visual C++'s precompiled header support. It's problematic because when it's turned on (and it's on by default in a Visual Studio project) it changes the preprocessing rules so that some standard code may not compile, but it can speed up larger builds considerably.