This has actually occurred twice now. I'm writing a cross-platform application, and some of my function names conflict with the Windows API. What I did (for example with LoadObject) was...
#undef GetObject
Is this an okay approach, or should I rename my functions?