于 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

Reply via email to