Anton Pevtsov wrote: > Unfortunately, I didn't build release configurations during long periof > of time. > > But I suspect this commit: > http://svn.apache.org/viewcvs?rev=374551&view=rev [...] You're most likely right. > It seems that there is a conflict between declarations of the swprintf > from stdio.h and this one. > > The stdio.h contains > > ... > /* This non-standard definition exists for historical reasons to avoid > breaking old code */ > _CRTIMP int __cdecl swprintf(wchar_t *, const wchar_t *, ...); > #ifdef __cplusplus > /* For C++ we have an overloaded version with the standard definition */ > extern "C++" _CRTIMP int __cdecl swprintf(wchar_t *, size_t, const > wchar_t *, ...); > #endif > ... Ugh. What a mess! > > It is possible to avoid the error (but not warning for dll's) using > extern "C++" instead of extern "C" to allow overloading, but I am not > sure that this way is correct. I suspect that's what we'll have to do. I.e., hardcode this into our header for Windows/MSVC. > The same is true for vswprintf and wctomb functions. Let me look into it. Strangely, I don't see it in our nightly builds. Martin