Bonjour,

J'ai récupéré un projet C++/MFC que je dois essayer de compiler.
Le projet était développé sous VS 2003, mais il n'y a pas de code managé dedans.
Je travaille avec VS2008 SP1 sur windows xp et j'ai un SDK windows qui doit être assez ancien (6.0a).

J'ai converti le projet en VS2008, et je tente de compiler. Là, j'ai plein d'erreurs, du genre :

1>.\UDP\UDPSock.cpp(326) : error C2065: 'IP_MULTICAST_IF' : undeclared identifier
1>.\UDP\UDPSock.cpp(351) : error C2079: 'mreq' uses undefined struct 'CUDPClnSocket::{ctor}::ip_mreq'
...
J'ai trouvé quelques threads sur internet qui parlent de problème d'ordre d'include entre <winsock2.h> et <windows.h>.
Mon projet utilise les MFC, donc pour moi, c'est <afxwin.h> et <afxsock.h>. Mais j'ai un peu essayé de les retourner dans tous les sens, et ça ne change rien.

mon stdafx.h commence comme ça :

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
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragmaonce
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#define OEMRESOURCE
 
#include<afxwin.h>// MFC core and standard components
#include<afxext.h>// MFC extensions
#include<afxdisp.h>// MFC OLE automation classes
#if !defined _AFX_NO_AFXCMN_SUPPORT
#include<afxcmn.h>// MFC support for Windows Common Controls
#endif// _AFX_NO_AFXCMN_SUPPORT

#include<afxsock.h>// MFC socket extensions
#include<afxole.h>
#include<afxtempl.h>// template extension
#include<afxdb.h>
#include<afxmt.h>
#include<sys/timeb.h>
et le fichier qui me pose problème commence comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#include"stdafx.h"
#include<string.h>
#include<stdlib.h>
#include<afxsock.h>// MFC socket extensions
J'ai tenté de virer le <afxsock.h> du second, ça ne change rien. Je l'ai inversé avec le stdafx, pareil. J'ai tenté la même chose dans le stdafx.h, mais ça ne résoud pas mon problème.

Donc voilà, je me doute que c'est pas facile de trouver d'où ça peut venir sans avoir la solution complète, mais c'est juste si quelqu'un a une idée géniale là, parce que ça fait deux jours que je suis là dessus, et je ne trouve rien pour avancer...

Merci