Not sure if this would help. I've been doing some cross platform development for 3 platforms: Windows, Linux and MAC.
Linux sticks close to the ANSII C standards.
Microsoft, on the other hand, extends the standard ASCII libraries by adding their own set of libraries. This allows Microsoft to do the things it does for the Windows environment, such as drawing window forms, buttons, handling events and so forth. Because these libraries are not standard across all platforms, they will generate errors on the MAC and Linux platforms.
Not sure if this helps, but thought I'd tell you what I discovered.