This is causing problems with Allegro, as Allegro defines BITMAP
and RGB as base types, which windows.h also defines.
Normally, if you need to #include "windows.h", you need to
include "winalleg.h" instead, which includes windows.h itself and
contains workarounds for this issue.
However, we can't
force users to #include "winalleg.h", as it would result in code that
would only compile on Windows.
Is there a good reason for
<string.h> to include <windows.h>?