Я думаю, #pragma message
нужны только строки C. IIRC, _MSC_FULL_VER
- это число, а __FILE__
и __DATE__
- строки C. Попробуйте это
// BEWARE! Untested macro hackery ahead!
#define STRINGIFY( L ) #L
#define MAKESTRING( M, L ) M(L)
#define STRINGIZE(X) MAKESTRING( STRINGIFY, X )
#pragma message( "You have " STRINGIZE(_MSC_FULL_VER) )
(На примечании стороны это позволяет
#define SHOWORIGIN __FILE__ "(" STRINGIZE(__LINE__) "): "
#pragma message( SHOWORIGIN "your message here" )
, который позволяет дважды щелкнуть сообщение в области вывода VS и перейти к его файлу / строке.)