Hmm, I have worked with many compilers but until now I have never heard of the idea to replace headers from one compiler with headers from another compiler and expect that this still works.
You know that C++ and C are different languages?
When you want to use a Visual Studio header with another compiler you normally need to adapt it, look at the stdio.h or the d3d9.h headers that come with lite-C for an example.