Bonjour,

Je suis entrain de compiler un fichier c (smiparser_tab.c) généré par bison (SmiParser.y) dans Visual Studio 2005.

Je reçois 1 erreur que je ne comprends pas :
1>smiparser_tab.c
1>c:\program files (x86)\microsoft visual studio 8\vc\include\swprintf.inl(41) : warning C4047: 'fonction'*: '_locale_t' diffère de 'int' dans les niveaux d'indirection
1>c:\program files (x86)\microsoft visual studio 8\vc\include\swprintf.inl(41) : warning C4024: '_vswprintf_c_l'*: types différents pour le paramètre formel et réel 4
1>c:\program files (x86)\microsoft visual studio 8\vc\include\swprintf.inl(51) : warning C4047: 'fonction'*: '_locale_t' diffère de 'int' dans les niveaux d'indirection
1>c:\program files (x86)\microsoft visual studio 8\vc\include\swprintf.inl(51) : warning C4024: '_vswprintf_c_l'*: types différents pour le paramètre formel et réel 4
Le code de ce source c:\program files (x86)\microsoft visual studio 8\vc\include\swprintf.inl est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
#if defined(_M_CEE_MIXED)
#pragma managed(push, off)
#endif
 
#pragma warning( push )
#pragma warning( disable : 4793 4412 )
static __inline int swprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, ...)
{
    va_list _Arglist;
    int _Ret;
    _crt_va_start(_Arglist, _Format);
/* Ligne 41 */    _Ret = _vswprintf_c_l(_String, _Count, _Format, NULL, _Arglist);
    _crt_va_end(_Arglist);
    return _Ret;
}
#pragma warning( pop )
 
#pragma warning( push )
#pragma warning( disable : 4412 )
static __inline int __CRTDECL vswprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, va_list _Ap)
{
/* Ligne 51 */    return _vswprintf_c_l(_String, _Count, _Format, NULL, _Ap);
}
#pragma warning( pop )
#if defined(_M_CEE_MIXED)
Je ne sais pas non plus pourquoi ce fichier se retrouve a être inclus, c'est probablement stdio.h qui l'inclus.