Sto provando a creare un programma socket multicast UDP utilizzando VS2015 (applicazione console C++).winsock deprecato senza avvisi
ho ottenuto il seguente errore,
Error C4996 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings mulitcast_listener
Ho provato ad aggiungere _WINSOCK_DEPRECATED_NO_WARNINGS simbolo per le mie impostazioni di progetto tramite "Progetto" -> "Proprietà" -> "Proprietà di configurazione" -> "C/C++" - > "Preprocessore" -> "Definizioni preprocessore" .. Ma continua a dire lo stesso.
E poi ho provato ad aggiungere simbolo sopra # include "stdafx.h" come
# define _WINSOCK_DEPRECATED_NO_WARNINGS 1
e poi No (/ sdl-) su "Progetto "->" Proprietà "->" Proprietà di configurazione "->" C/C++ "-> Generale-> Controlli SDL
ora ricevo un messaggio di errore che indica
Warning C4603 '_WINSOCK_DEPRECATED_NO_WARNINGS': macro is not defined or definition is different after precompiled header
Alla fine ho cercato di attuare
inet_pton(AF_INET, HELLO_GROUP, (PVOID *)(&mreq.imr_multiaddr.s_addr));
invece di
mreq.imr_multiaddr.s_addr = inet_addr(HELLO_GROUP);
ho bisogno di capire il motivo per cui l'errore non ha risolto anche dopo l'aggiunta del _WINSOCK ... macro.
Grazie in anticipo.
Per quanto riguarda l'aggiunta di '# define' prima di' stdafx.h', potresti non essere a conoscenza di questo: https://en.wikipedia.org/wiki/Precompiled_header#stdafx.h. '#include" stdafx.h "' dovrebbe essere la prima cosa. Cosa succede se posizioni '# define' subito dopo aver incluso stdafx ma prima che tutti gli altri includano? –
Costruisce con successo .. Grazie mille per queste informazioni – kar