On 05/13/13 03:56, xunxun wrote: > 于 2013/5/10 星期五 17:17, Jacek Caban 写道: >> 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 > Can you commit it?
Sure, committed as r5856. Thanks, Jacek ------------------------------------------------------------------------------ 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