If the nasty platform and compiler specific hacks can be kept to PoDoFo's build and need not be visible to users of the library, put them in PdfCompilerCompatPrivate.{cpp,h} instead.
Please NEVER use symbols from this header or the PoDoFo::compat namespace in a "using" directive. Always explicitly reference names so it's clear that you're pulling them from the compat cruft.