[コンパイルエラー:warning C 4005]ws 2 def.h(91):warning C 4005:「AF_IPX」:マクロ再定義winsock.h(460):「AF_IPX」の前の定義を参照


【問題】
ws2def.h(91):warning C 4005:「AF_IPX」:マクロ再定義;winsock2.h(460):「AF_IPX」の前の定義を参照
【原因】
windows.hヘッダファイルにはwinsockが含まれている.h,winsock.hとwinsock 2.hは同じマクロを定義する.
【解決策】
シナリオ1:定義マクロWIN 32_LEAN_AND_MEAN 
プロパティ->構成プロパティ->c/c+->プリプロセッサ->プリプロセッサ定義:WIN 32の追加LEAN_AND_MEAN 
マクロ定義が存在する場合windows.hはwinsockを含まない.h.
シナリオ2:winsock 2.hファイルはwindowsに書きます.hまで.
#include "winsock2.h"
#include "windows.h"