< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate-users] Compile issue of rutile with C++ 11 compiler and boost


When I compiled my project with VS2017 and boost 1.6.9, I've encountered the error : c99_snprintf: is not a member of std.

Finally I got it fixed by add below red line code in rutil/compat.hxx

#ifdef _MSC_VER
#if _MSC_VER < 1900
#include <stdio.h>
#ifndef snprintf
#define snprintf c99_snprintf

inline int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap)
{
    int count = -1;

    if (size != 0)
        count = _vsnprintf_s(str, size, _TRUNCATE, format, ap);
    if (count == -1)
        count = _vscprintf(format, ap);

    return count;
}

inline int c99_snprintf(char* str, size_t size, const char* format, ...)
{
    int count;
    va_list ap;

    va_start(ap, format);
    count = c99_vsnprintf(str, size, format, ap);
    va_end(ap);

    return count;
}
#endif
#endif
#endif // _MSC_VER