C1189#error: WinSock.h has already been included解决方案

最近在做项目移植过程中遇到这个报错,解决了半天。简单记录下解决方案,以供给大家提供一个思路。

原因:

在工程中使用了Boot库之后,使用了socket、tcp相关的头文件,在其他地方还是包括了头文件<windows.h>,该头文件内包含了<winsock.h>。导致遇到报错问题:WinSock.h has already been included

解决方案:

知道问题所在之后,解决办法就好说了,我们把<windows.h>往后移动,放置在你包含boost文件之后,或者直接注释掉即可。问题可以解决,包含顺序的问题。