2013/5/10 Jacek Caban <ja...@codeweavers.com>: > On 05/10/13 11:11, xunxun wrote: >> 于 2013/5/9 星期四 10:40, xunxun 写道: >>> 于 2013/5/9 星期四 6:27, Jacek Caban 写道: >>>> On 5/8/13 7:27 AM, xunxun wrote: >>>>> 于 2013/1/21 星期一 21:07, Kai Tietz 写道: >>>>>> 2013/1/21 Jacek Caban <ja...@codeweavers.com>: >>>>>>> On 01/21/13 13:39, JonY wrote: >>>>>>>> On 1/21/2013 09:43, Herb Thompson wrote: >>>>>>>>> Q: Why do some 32-bit MinGW-w64 applications fail with '... >>>>>>>>> _vswprintf >>>>>>>>> could not be located in the dynamic link library msvcrt.dll' on >>>>>>>>> Windows >>>>>>>>> XP SP1? >>>>>>>>> >>>>>>>>> A: For C++, MinGW-w64 implements 'vswprintf (wchar_t *__stream, >>>>>>>>> const >>>>>>>>> wchar_t *__format, __builtin_va_list __local_argv)' as a call to >>>>>>>>> '_vswprintf'. Older versions of msvcrt.dll, like the version >>>>>>>>> in XP SP1, >>>>>>>>> do not include '_vswprintf'. A workaround for this is to >>>>>>>>> compile any >>>>>>>>> C++ libraries and applications that use 'vswprintf' (with the >>>>>>>>> preceding >>>>>>>>> signature) with -D__USE_MINGW_ANSI_STDIO. For example, to >>>>>>>>> build the >>>>>>>>> wxWidgets library for applications to be deployed on XP SP1, build >>>>>>>>> wxWidgets with the following command line: >>>>>>>>> > mingw32-make -f makefile.gcc >>>>>>>>> CPPFLAGS="-D__USE_MINGW_ANSI_STDIO" >>>>>>>> Done as >>>>>>>> https://sourceforge.net/apps/trac/mingw-w64/wiki/_vswprintf%20missing. >>>>>>>> >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> I've also added a caveat section on the side effects of using >>>>>>>> __USE_MINGW_ANSI_STDIO. >>>>>>> Well, IMO we should fix bugs instead of documenting them... I may >>>>>>> look >>>>>>> at this, but I'm not sure when I will find time for that. >>>>>>> >>>>>>> Jacek >>>>>> Well, in general I agree. We might should do same hack (for older >>>>>> msvcrt versions) as we do for vscanf (as example). >>>>>> >>>>>> Cheers, >>>>>> Kai >>>>>> >>>>>> >>>>> Can we do _vswprintf == vswprintf again? >>>>> >>>>> And XP SP3 msvcrt.dll doesn't contain _vswprint, too. >>>>> We must fix it! >>>> >>>> I'm sorry, I forgot about this before I found the time to fix it. >>>> Can you prepare a patch? >>>> >>>> Thanks, >>>> Jacek >>> Same with vsnprintf >>> >>> Index: mingw-w64-crt/lib32/msvcrt.def.in >>> =================================================================== >>> --- mingw-w64-crt/lib32/msvcrt.def.in (revision 5847) >>> +++ mingw-w64-crt/lib32/msvcrt.def.in (working copy) >>> @@ -1116,7 +1116,7 @@ >>> _vsprintf_p >>> _vsprintf_p_l >>> _vsprintf_s_l >>> -_vswprintf >>> +_vswprintf == vswprintf >>> _vswprintf_c >>> _vswprintf_c_l >>> _vswprintf_l >>> >>> >>> >> How do you think? >> >> Can we do that workaround change before a better detect method? > > Yes, the patch looks good to me, thanks. But this needs Kai's approval. > > Thanks, > Jacek
Yes, patch looks ok. Please apply. Thanks, Kai ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public