Problème de compilation en utilisant winsock.h

Kleidp Messages postés 124 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 10 février 2008 - 3 sept. 2004 à 13:39
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011 - 5 sept. 2004 à 21:25
Voila, quand j'essai de compiler du code utilisant les socket Dev-c++ me met:

undefined reference to `WSAStartup@8'
undefined reference to `socket@12'
undefined reference to `gethostbyname@4'
undefined reference to `inet_ntoa@4'
...

Pourtant toute ces instruction sont dans :

#include <winsock.h>

j'ai essayer de remplacer winsock.h par winsock2.h mais j'ai encore plus d'erreurs.

Merci pur vos réponse

8 réponses

cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
3 sept. 2004 à 14:41
tu dois ajouter la lib ws2_32.lib a ton projet (fouille ds les options de dev c++), les erreurs la sont des erreurs de linkage (fonctions dont les entetes sont définies, mais que le compilateur ne trouve pas (vu qu'elles sont ds la lib que je t'ai dite...))

a+ ;)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 sept. 2004 à 16:27
sous dev-cpp le nom de la lib est :
"libws2_32.a"
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
3 sept. 2004 à 21:05
tu peux aussi utiliser #pragma...

@+
Arnotic,
Admin CS, MVP Visual C++
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
4 sept. 2004 à 06:18
Il me semble qu'il n'y a pas de #pragma avec gcc (donc à fortiori, devc++)... Ajouter -lws2_32 à la ligne de liaison (par contre je sais pas où c'est dans devc++, j'utilise encore des Makefile artisanaux) serait plus judicieux, comme çà a été dit plus haut.
0

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

Posez votre question
Kleidp Messages postés 124 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 10 février 2008
4 sept. 2004 à 12:02
Merci beaucoup pour vos réponses, mais ça ne fonctionne toujours pas.

J'ai essayé d'inclure dans Project Options le fichier libws2_32.a, mais j'ai toujours ces erreurs de linkage, même en le remplacent par -lws2_32, sinon j'ai aussi testé avec : #pragma comment (lib,"libws2_32.a"), mais là même si je mets n'importe quoi dedans il ne m'envoi aucun message d'erreur.

En fait dans Project Option il y a 2 autres lignes à remplir où je n'ai rien mis:

Extra Compileur Option
Extra Include directories

Sinon je ne suis pas sur du paramétrage du compilateur:
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
4 sept. 2004 à 14:04
c'est ds linker que tu dois ajouter libws2_32.a (regarde dans D:\Damien\Dev\Lib si ce fichier existe, au- on verra ou est le pb)
a+ ;)
0
starkiller20100 Messages postés 8 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 8 février 2005
4 sept. 2004 à 14:08
TU va dans le menu projects->Project Option puis dans l onglet Parameters et dans la etextbox intitule linker tu rajoute ca D:/Damien/Dev/Lib/libws2_32.a
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
5 sept. 2004 à 21:25
winsock.h requier libwsock32.a
winsock2.h requier libws2_32.a

~(.:: NitRic ::.)~
0
Rejoignez-nous