'inet_addr": Utilisez inet_pton() ou InetPton() à la place ou à définir _WINSOCK_DEPRECATED_NO_WARNINGS
Je suis à l'aide de Visual Studio 2015 et tentez de compiler le code qui a travaillé avant j'ai mis à jour à partir de VS 2013.
'inet_addr": Utilisez inet_pton() ou InetPton() à la place ou à définir _WINSOCK_DEPRECATED_NO_WARNINGS
partner.sin_addr.s_addr = inet_addr(ip.c_str());
J'ai tenté d'utiliser les fonctions mentionnées, mais ils ne sont pas définis. J'ai tenté de définir la macro dans de nombreux endroits différents, mais rien ne s'est passé. Un autre thread a dit que je devrais inclure Ws2tcpip.h au lieu de WinSock2 & ajouter Ws2_32.lib. J'ai déjà la bibliothèque ajoutée, et quand j'ai utilisé l'comprennent rien de ce qui s'est passé. Ce qui se passe?!
Se pourrait-il que c'est un business model de Microsoft de ne pas être compatible entre les différents Visual Studios? Venant de python c'est juste fou
OriginalL'auteur The Count | 2016-04-18
Vous devez vous connecter pour publier un commentaire.
L'ip de la chaîne peuvent être convertis à la in_addr structure avec la InetPton fonction.
Elle s'utilise comme ceci:
Vous devez inclure le "Ws2tcpip.h" fichier d'en-tête, utiliser la bibliothèque "Ws2_32.lib" et DLL "Ws2_32.dll".
OriginalL'auteur Florian Haupt
Juste pour faire de la conversion clair. Disons que vous avez le code à l'aide de l'obsolète inet_addr comme dans cet exemple:
Il pourrait être converti à la nouvelle InetPton comme suit:
La _T macro empêche le "const char incompatible avec PCWSTR" erreur.
OriginalL'auteur Nagev
Vous pouvez essayer
pour l'utilisation de
inet_addr()
.OriginalL'auteur Razin Bashar
assurez-vous de définir _WINSOCK_DEPRECATED_NO_WARNINGS avant que tous le comprennent.
Je ne suis pas d'accord avec le @V-rund Puro-hit 's commentaire. La définition de _WINSOCK_DEPRECATED_NO_WARNINGS est en effet le moyen le plus simple pour le faire fonctionner. Pas de changement de votre code source, pas d'autres libs nécessaires.
OriginalL'auteur J CH