Création
d'entreprise
Posez votre question Signaler

[C] WIN32 Socket Linker Erreur [Résolu]

Piranha8620 - Dernière réponse le 7 août 2009 à 22:49
Bonjour,
Lors de la compilation avec Dev-C++ (Windows), j'ai un poblème de linker sur ma partie qui utilise les sockets.
Dans les options du compilateur j'ai bien mis : -lwsock32 -lws2_32
Et mis : #pragma comment(lib, "ws2_32.lib") au debut de mon fichier source.
Mon projet est un projet WIN32.
(En projet console, il compile mon code source.)
Que dois-je mettre comme configuration a mon compilateur, pour qu'il compile enfin ?
Existe t-'il un endroit où je pourrai voir à quel librairie je dois linker mon compilateur (parceque en cherchant sur google je n'ai pas trouver grand chose) ?
Merci
Extrait des erreus lors de compilation:
main.o(.text+0x6d):main.cpp: undefined reference to `send@16'
main.o(.text+0x95):main.cpp: undefined reference to `recv@16'
main.o(.text+0x113):main.cpp: undefined reference to `send@16'
main.o(.text+0x14d):main.cpp: undefined reference to `WSAStartup@8'
main.o(.text+0x189):main.cpp: undefined reference to `socket@12'
...
collect2: ld returned 1 exit status
make.exe: *** [Projet2.exe] Error 1
Lire la suite 

[C] WIN32 Socket Linker Erreur »

5 réponses
Réponse
+0
moins plus
Bonjour,

Apparemment, il te manque WSOCK32.DLL. Par contre, je n'utilise pas DEV-C++ et je ne sais pas précisément où cela se paramètre mais tu dois bien pouvoir trouver un menu option quelque part qui concerne le linker. Par exemple, sous Pelle C, on trouve ça dans menu Project\Project Options puis en choisissant l'onglet Linker. Ce ne doit pas être bien différent.
Ajouter un commentaire
Réponse
+0
moins plus
Oui, mais pourtant j'ai bien linké WSOCK32.DLL dans les options du compilateur, et lors d'un projet console il me compile tout ça très bien.

Je suis aussi pourtant aller dans les options du projets pour mettre les commandes aux compilateur et ça ne fonctionne tout de même pas...

Sur Dev c++, cela s'appelle projet GUI.
Ajouter un commentaire
Réponse
+0
moins plus
A force de chercher, j'ai vu que devc ++, ne prener pas en compte:
#pragma comment(lib, "ws2_32.lib")

Dans les options du projet, il faut trouver la .dll sur son disque et l'insérer dans le projet.
Merci
Ajouter un commentaire
Réponse
+0
moins plus
Une idée con qui me passe par la tête : WSOCK32.DLL est bien présente dans le sous-répertoire où Dev C++ va chercher ses DLL ?
Ajouter un commentaire
Réponse
+0
moins plus
Pour répondre a ta question framétaux
Dans ma version de devcpp la .dll WSOCK32.DLL n'y figure pas, j'ai regardé pour les .a et les .lib je n'ai rien trouvé.

J'ai utiliser la librairie de masm32 pour pouvoir le linker (ide pour l'assembleur).

Maintenant il a réussi a compilé mon projet :-)
Ajouter un commentaire
Ce document intitulé « [C] WIN32 Socket Linker Erreur » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?