The msvc compiler has some defines which it defines itself, depending on its configuration.
https://msdn.microsoft.com/de-de/library/b0084kay.aspx
two of them are these:
_WIN32 Defined for applications for Win32 and Win64.Always defined.
_WIN64 Defined for applications for Win64.
vld vcxproj defines WIN32 for x86 only and WIN64 for x64 only. This is different to the above macros.
The reason why I noticed this , is that my own cmake based build for x64 did crash. The reason was. that i did not set the WIN64 define. Would _WIN64 have been used by vld, I would not had a problem.
Alternativly
_M_X64 Defined for compilations that target x64 processors.
_M_IX86 Defined for compilations that target x86 processors.This is not defined for x64 processors.
could be used.
https://msdn.microsoft.com/de-de/library/b0084kay.aspx
two of them are these:
_WIN32 Defined for applications for Win32 and Win64.Always defined.
_WIN64 Defined for applications for Win64.
vld vcxproj defines WIN32 for x86 only and WIN64 for x64 only. This is different to the above macros.
The reason why I noticed this , is that my own cmake based build for x64 did crash. The reason was. that i did not set the WIN64 define. Would _WIN64 have been used by vld, I would not had a problem.
Alternativly
_M_X64 Defined for compilations that target x64 processors.
_M_IX86 Defined for compilations that target x86 processors.This is not defined for x64 processors.
could be used.