Make entire library code compile on MSVC & gcc.

same here