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

------------------------------------------------------------------------------
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

Reply via email to