于 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 <[email protected]>: >>>>> 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? -- Best Regards, xunxun ------------------------------------------------------------------------------ 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 [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
