Q:

Best way to remove collision of names in c++

I just upgraded from WinXP to Seven and I had to add the Windows SDK to my project to make it compile.
So far so good but my second project hit a snag, 'PlayerState' is used in my project as a class and in the Windows SDK (effects.h) as an enum and this obviously generates an error (error C2011: 'PlayerState' : 'struct' type redefinition).
What is the best way to resolve this?
I have thought of:

Renaming, but I will break the naming convention (and it really is the players 'state')
Putting it in a namespace, but then I should put Every class in a namespace which means a Lot of work

Is there any other way (maybe a special MSVC 2010 vay) of say exclude that file or some sort of 'undefine' that enum or something else?
[edit] and the answer is, Loud and clear, NAMESPACES! +1 and thanks all!

A:

Namespace, that's what it's there for after all. Grouping and avoiding name collisions. It will not hurt if you go through your code base and put everything in a namespace. It's what you should've been doing all along already.

A:

Putting it in a namespace, but then I should put Every class in a
  namespace which means a Lot of work

Well, tough, basically. Classes should be in namespaces anyway. If you didn't put them in a namespace, then that's not sustainable, it's just cutting corners, and this is why.

