Search code examples
c++visual-studioconditional-compilation

VS2010 Compiler define


In gcc I am writting friend class FriendMaker<T>::Type but Visual Studio wants friend FriendMaker<T>::Type. So I think it is time to go compiler specific.

So What I need to ifdef for Visual Studio ? I am using 2010 at the moment but I may switch to 2012 latter.


Solution

  • Use the macro _MSC_VER. To check if the compiler is VS2010, or above:

    #if _MSC_VER >= 1600
    

    The following are values for the different versions of VS:

    • VS 2003 (VC7.1): 1310
    • VS 2005 (VC8): 1400
    • VS 2008 (VC9): 1500
    • VS 2010 (VC10): 1600
    • VS 2012 (VC11): 1700