Well... the packages you have installed (g++ and so on) have an mdk extension so I'm assuming you're using a mandrake distro. Mandrake is based on Redhat, and I know that Redhat often modifies its compilers... (they had modified 2.95 I think a while back and it had all kinds of recursion errors in it).
Now considering XFree86's widespread use I doubt that they would actually have as many syntax errors as the compiler is saying it has in your original post. So you have two options... we know redhat modifies their distributed software for better or worse... so they have either A
modified the compiler in such a way that for some reason it now does not recognize proper C/C++ syntax or B
they have modified Xft (and other source packages on your system) and messed up the syntax themselves...
I think my advice to you would be to remove the compiler packages... g++, etc. from your system and download the gcc source from gcc's homepage at gnu.org and install it. Then if it still complains about syntax problems... well we'll go from there. Some of the errors you have listed can be fixed by passing a -I/usr/X11/include (or something similiar) to the compiler, but the other errors ... like saying that Xft.h has a syntax error in it, are just unlikely.
That's my advice, you can take it or leave it. The other thing to do would be to check the errors that you're getting yourself and go into the source code and check for syntax errors.
does that help at all? judging from some of my other posts today I think this is going to be a rambling kinda day. sorry... in advance.