关于头文件#include<windows.h>放在#include<winsock.h>之前报错的问题。初学者或者没有耐心者可以忽略本小节的笔记。
例如源文件1中:
#include<windows.h>
#include<winsock2.h>
//...
//...
或者例如源文件2中:
#include<winsock.h>
#include<winsock2.h>
//...
//...
编译这两个源文件时,编译出错的内容如下:
definition of 'FD_SET'
...\winsock2.h(143) : error C2011: 'timeval' : 'struct' type redefinition
...\include\winsock2.h(199) : error C2011: 'hostent' : 'struct' type redefinition
...\winsock2.h(212) : error C2011: 'netent' : 'struct' type redefinition
........
报错的意思是所有与这两个头文件包含和socket接口有关的函数以及结构体等都提示这样的错误:redefinition(函数以及结构体等类型重复定义)。
报错的原因
<