diff --git a/include/msvc/wx/setup.h b/include/msvc/wx/setup.h index 09e435b228..3d2f068fd8 100644 --- a/include/msvc/wx/setup.h +++ b/include/msvc/wx/setup.h @@ -63,6 +63,8 @@ #define wxCOMPILER_PREFIX vc110 #elif _MSC_VER == 1800 #define wxCOMPILER_PREFIX vc120 + #elif _MSC_VER == 1900 + #define wxCOMPILER_PREFIX vc140 #else #error "Unknown MSVC compiler version, please report to wx-dev." #endif diff --git a/include/wx/compiler.h b/include/wx/compiler.h index 4d334d74d9..dfab0a25b4 100644 --- a/include/wx/compiler.h +++ b/include/wx/compiler.h @@ -49,7 +49,14 @@ # define __VISUALC11__ #elif __VISUALC__ < 1900 # define __VISUALC12__ +#elif __VISUALC__ < 2000 + /* There is no __VISUALC13__! */ +# define __VISUALC14__ #else + /* + Don't forget to update include/msvc/wx/setup.h as well when adding + support for a newer MSVC version here. + */ # pragma message("Please update wx/compiler.h to recognize this VC++ version") #endif @@ -89,7 +96,13 @@ # define wxVISUALC_VERSION(major) 0 # define wxCHECK_VISUALC_VERSION(major) 0 #else -# define wxVISUALC_VERSION(major) ( (6 + major) * 100 ) + /* + Things used to be simple with the _MSC_VER value and the version number + increasing in lock step, but _MSC_VER value of 1900 is VC14 and not the + non existing (presumably for the superstitious reasons) VC13, so we now + need to account for this with an extra offset. + */ +# define wxVISUALC_VERSION(major) ( (6 + (major >= 14 ? 1 : 0) + major) * 100 ) # define wxCHECK_VISUALC_VERSION(major) ( __VISUALC__ >= wxVISUALC_VERSION(major) ) #endif