winsock2.h内部有#include windows.h。因为向下兼容的原因,windows.h包含了winsock.h,这会造成一些定义和winsock2.h冲突。解决的办法是先定义WIN32_LEAN_AND_MEAN,然后再包含windows.h或者afxwin.h,该程序中utility.h中include了winsock2.h和windows.h。
#if defined (WIN32) // Windows platform
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#endif
#include <utl_comm.h>
.....