Erreur de compilation avec VC++ 2005

Jakariba Messages postés 4 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 25 mai 2006 - 24 mai 2006 à 14:38
excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006 - 26 mai 2006 à 17:06
Bonjour,

Dans une window form. j'essaie de me connecter à un serveur distant avec une adresse IP et un port spécifique, je n'ai inclu que winsock.h sans écrire de code, mais lors de la compilation j'ai 166 avertissements dans ce genre : 

Compiling...
test.cpp
C:\Program Files\Microsoft Visual Studio 8\VC\include\winsock.h(14) : warning C4068: unknown pragma
C:\Program Files\Microsoft Visual Studio 8\VC\include\windows.h(30) : warning C4068: unknown pragma
C:\Program Files\Microsoft Visual Studio 8\VC\include\windef.h(11) : warning C4068: unknown pragma
C:\Program Files\Microsoft Visual Studio 8\VC\include\winnt.h(19) : warning C4068: unknown pragma
C:\Program Files\Microsoft Visual Studio 8\VC\include\specstrings.h(1) : warning C4068: unknown pragma
C:\Program Files\Microsoft Visual Studio 8\VC\include\specstrings.h(661) : warning C4068: unknown pragma

Qu'est ce que je peux faire pour éliminer ces avertissements ?

Merci

Jakariba

6 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 mai 2006 à 14:49
#pragma warning(disable : 4068)
if(!Meilleur("Joky")) return ERREUR;<
0
excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006
24 mai 2006 à 16:15
utilises <winsock2.h>, <winsock.h> c'est la version 1 et c'est _OUT_, même préhistorique !!!

#include <winsock2.h> // version 2
#pragma comment(lib, "ws2_32") // la librairie pour le lieur/linker(version 2)

-=-= ExCRT =-=-
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
24 mai 2006 à 22:40
Télécharge le dernier PSDK de microsoft, car ton windows.h n'a pas l'air à jour (utilisation de winsock.h).
0
excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006
25 mai 2006 à 15:38
nightlord666, relis son message

«[...] , je n'ai inclu que winsock.h sans écrire de code [...]»

ce n'est pas <windows.h> mais <winsock.h> qu'il a inclu !!!!!!!!!

en incluant <winsock2.h>, tout y est, <winsock2.h> ainsi que <windows.h> et compagnie ...

-=-= ExCRT =-=-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jakariba Messages postés 4 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 25 mai 2006
25 mai 2006 à 17:50
Je n'ai plus d'erreur de compilation, je compile maintenant avec les lib et les include de Plateforme SDK.
 
Mais j'ai un autre problème, voici un bout de code que j'avais compilé sous Borland C++ Builder 2006, et tout était OK, j'essaie maintenant de le compiler sous Visual C++ 2005 et le compilateur ne reconnaît pas SOCKET, où est mon erreur ?

char

AdresseIP[]=
"10.10.6.100";
int

port=23;SOCKET sock;

//Et voila notre socket !(ce n'est rien d'autre qu'une var int)sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

WSADATA wsa;

//On est sous win, donc fo initialiser les wsa(pas la peine de savoir ce que c'est)WSAStartup(MAKEWORD(2,0),&wsa);

// on initialise wsa ici

SOCKADDR_IN sin;

//Structure ds laquelle on va stocker les parametres du socket

sin.sin_family=AF_INET;

//Ici, on dit qu'on veut un socket pour le netsin.sin_addr.s_addr=inet_addr(AdresseIP);

sin.sin_port=htons(port);

htons() convertit le port en un nombre utilisable par win

//On crée le socket ou du moins on l'initialise
sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

bind(sock,(SOCKADDR*)&sin,
sizeof(sin));
//On lie le socket à la structure sin pour définir ses parametres

//essaie de se connecter, connect ressemble étrangement à bind
if(connect(sock,(SOCKADDR*)&sin,
sizeof(sin)))

{    ShowMessage(

"Connection fonctionne pas !!!");
   Close();
}

Merci

Jakariba
0
excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006
26 mai 2006 à 17:06
vérifie que <winsock2.h> est bien inclus dans ce fichier(ou ce trouve ce code), sinon, définie SOCKET
typedef u_int SOCKET; // « u_int » est définie dans <winsock2.h>

sous Windows, « SOCKET » est définie alors c'est probablement juste un problème d'include ...
regarde dans le fichier <winsock2.h> tu vas voir « SOCKET » en début de fichier

note: « port » doit être un entier non-signé 16bits, soit « unsigned short » ou encore « WORD » mais pas « int » ou encore « long » etc ...

-=-= ExCRT =-=-
0
Rejoignez-nous