J'utilise Visual Studio 2015 et j'essaie de compiler du code qui a fonctionné avant la mise à jour de VS 2013.
'inet_addr': utilisez plutôt inet_pton () ou InetPton () ou définissez _WINSOCK_DEPRECATED_NO_WARNINGS
partner.sin_addr.s_addr = inet_addr(ip.c_str());
J'ai essayé d'utiliser les fonctions mentionnées mais elles n'étaient pas définies. J'ai essayé de définir la macro dans de nombreux endroits différents, mais rien ne s'est produit. Un autre thread a dit que je devrais inclure Ws2tcpip.h au lieu de WinSock2 et ajouter Ws2_32.lib. J'ai déjà ajouté la bibliothèque, et quand j'ai utilisé l'inclusion, rien ne s'est passé. Que se passe-t-il?!
Juste pour clarifier la conversion. Disons que vous avez du code en utilisant le obsolète inet_addr comme dans cet exemple:
RecvAddr.sin_addr.s_addr = inet_addr("192.168.1.1");
Il pourrait être converti dans le plus récent InetPton comme suit:
InetPton(AF_INET, _T("192.168.1.1"), &RecvAddr.sin_addr.s_addr);
La macro _ T empêche l'erreur " const incompatible avec PCWSTR ".
Tu peux essayer
#pragma warning(disable:4996)
pour utiliser inet_addr()
.
assurez-vous de définir _WINSOCK_DEPRECATED_NO_WARNINGS avant toutes les inclusions.