Hi Dirk and all,
The following line compiles OK on Visual Studio 2010, but fails on Visual Studio 2015:
result.print("%"P"d,%"P"d,%"P"d:\033[37m", offs, len, cap);
This is the error:
cl -EHsc -GR -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -MT -TP -I. -I../O.Common -I.
-I. -I.. -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -IJ:/epics/support/asyn-4-31/include -IJ:/epics/support/calc-3-6-1/include
-IJ:/epics/support/sscan-2-10-2/include -IH:/epics/base-3.15.5/include/compiler/msvc -IH:/epics/base-3.15.5/include/os/WIN32 -IH:/epics/base-3.15.5/include -c ../StreamBuffer.cc
StreamBuffer.cc
../StreamBuffer.cc(317): error C3688: invalid literal suffix 'P'; literal operator or literal operator template 'operator ""P' not found
H:/epics/base-3.15.5/configure/RULES_BUILD:233: recipe for target 'StreamBuffer.obj' failed
make[1]: *** [StreamBuffer.obj] Error 2
make[1]: Leaving directory 'J:/epics/support/stream/StreamDevice/src/O.windows-x64-static-vs2015'
H:/epics/base-3.15.5/configure/RULES_ARCHS:58: recipe for target 'install.windows-x64-static-vs2015' failed
make: *** [install.windows-x64-static-vs2015] Error 2
Can someone explain what the P characters in that format string do, and how to get this to compile on Visual Studio 2015?
Thanks,
Mark