J'ai reçu cette erreur depuis un certain temps et Google n'a pas été beaucoup d'aide non plus.
Je suis une nouvelle programmation de Winsock et d'essayer d'apprendre des ressources en ligne. J'essaie de créer un serveur simple à l'aide de détails sur le site Web MSDN. Chaque fois que je compile le code (MINGW), je reçois l'erreur mentionnée dans le titre ( Je compose de la commande suivante: p> Indiffinefine référence à GettaDdrinfo code>). Ci-dessous le code: p>
3 Réponses :
est-il pas le même problème que ici? P>
http://programmingrants.blogspot.com/2009/09/tips -on-référence-undefined to.html p>
En gros n'oubliez pas de lien avec Ws2_32.lib (le message est de l'éditeur de liens, de sorte que ce devrait être la raison), mais vous semblez le faire déjà. P>
... si vous travaillez avec une ancienne version de Windows outils de programmation dire qu'il vous disposez d'une version supérieure à XP en mettant pourrait être d'autres problèmes simples. convention normale (Unix) pour les bibliothèques est de les préfixer avec lib. Désormais, ce qui signifie pour -lWS32_32 serait de rechercher un fichier dont le nom est Le problème peut également être lié chemin. Pour les problèmes d'instance peut se produit si le chemin à la bibliothèque contient des espaces. Si tel est le cas, vous pouvez essayer de vous mettre les fichiers de bibliothèque dans un répertoire avec un nom plus simple. P>
S'il vous plaît donner utiliser des commentaires de votre configuration réelle (dans quel répertoire est le fichier de bibliothèque) et ce que vous avez réellement essayé. Vous pouvez essaie également de mettre en LIBS et les variables d'environnement LIBPATH (moyen le plus simple est sans doute de le faire à partir d'un makefile). P> #define _WIN32_WINNT 0x0501 code> avant d'inclure les en-têtes (peu susceptibles d'être encore nowaday nécessaire, mais peut-être). p>
libWS32_32.a code>. Il est probable qu'il ne trouve pas parce qu'il manque le chemin vers le répertoire contenant la bibliothèque. Vous pouvez ajouter un -L suivi par le chemin vers le répertoire approprié. Sinon, vous ne même pas besoin de lien avec -l une bibliothèque, juste mettre le chemin complet à la bibliothèque (dans ce cas, le nom du fichier tel qu'il apparaît sur le système de fichiers) devrait également fonctionner. P>
Mais je relie la bibliothèque WS2_32 (renvoyer une troisième dernière ligne dans OP) et je reçois toujours le problème, c'est ce qui est frustrant.
Je suppose que travailler avec la centrale nucléaire et MinGW était difficile. J'ai changé à CodeBlocks et changé les paramètres de l'éditeur de liens pour inclure Ws2_32.dll et maintenant sa fin de travail. Merci!
http://msdn.microsoft.com /en-us/library/ms738520(v=vs.85).aspx p>
Jetez un oeil à la substance sous la rubrique « remarques ». Il est possible que vous essayez d'utiliser une version ANSI-C de la fonction lorsque vous n'êtes pas compilez ANSI-C. P>
Pas utile non plus. L'erreur persiste. Essayé la gettaddrinfow, mais avec peu de succès. Même essayé de modifier l'ordre d'inclure mais à aucune utilisation.
WindowsXP code> a été défini dans
w32api.h code>, vous devez
#include
#define WINVER code>. p>