Windows编程之:Error C2375 'gethostbyname': redefinition; 解决办法

版权声明:heibao111728 https://blog.csdn.net/heibao111728/article/details/85272916

使用Windows系统编程的时候,很多人都会遇到这样的问题,我们都是使用了系统的头文件,为什么还会报这么多错误,没错,微软就是这么不给力^_^。

说说这个问题的原因吧,造成这个问题是我们我们使用了winsock2.h,同时也使用了winsock.h,有些朋友会问,我们有包含过winsock.h,只包含了winsock2.h怎么会有问题呢?肯定是你包含的其他系统头文件中一部分包含了winsock2.h,一部分包含了winsock.h,其中windows.h就包含了winsock.h。那么怎么解决呢?很简单,在包含windows.h之前包含winsock2.h

#include <winsock2.h>
#include <windows.h>

因为winsock2.h中做了特殊的宏定义,使得在其之后包含进来的winsock.h不起作用。这样一来世界立马清净了^_^。

猜你喜欢

转载自blog.csdn.net/heibao111728/article/details/85272916