winsock ist veraltet, keine Warnungen

Ich bin versuchen, um eine UDP-multicast-socket-Programm mit VS2015 (C++ console application).

Bekam ich die folgende Fehlermeldung,

Error   C4996   'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings mulitcast_listener

Habe ich versucht, hinzuzufügen _WINSOCK_DEPRECATED_NO_WARNINGS symbol, um meine Projekt-Einstellungen über "Projekt"->"Eigenschaften"->"Configuration properties"->"C/C++"->"Präprozessor"->"Preprocessor definitions"
.. Aber es sagt das gleiche.

Und dann habe ich versucht, das hinzufügen-symbol oben #include "stdafx.h"
wie

#define _WINSOCK_DEPRECATED_NO_WARNINGS 1

dann Keine(/sdl-) auf "Projekt"->"Eigenschaften"->"Configuration properties"->"C/C++"->allgemein->SDL prüft

jetzt bekomme ich eine Fehlermeldung, die besagt

Warning C4603   '_WINSOCK_DEPRECATED_NO_WARNINGS': macro is not defined or definition is different after precompiled header

Schließlich habe ich versucht zu implementieren

inet_pton(AF_INET, HELLO_GROUP, (PVOID *)(&mreq.imr_multiaddr.s_addr));

statt

mreq.imr_multiaddr.s_addr = inet_addr(HELLO_GROUP);

Brauche ich, um zu verstehen, warum die Fehler nicht behoben, auch nach dem hinzufügen der _WINSOCK... makro.

Vielen Dank im Voraus.

  • Zum hinzufügen der #define vor stdafx.h Sie möglicherweise nicht bewusst sein: en.wikipedia.org/wiki/Precompiled_header#stdafx.h . #include "stdafx.h" sollte der erste sein Ding. Was passiert, wenn Sie den #define direkt nach einschließlich stdafx aber vor der alle anderen beinhaltet?
  • Sie bauen erfolgreich.. vielen Dank für diese Informationen
InformationsquelleAutor kar | 2015-08-26
Schreibe einen Kommentar