解决方法:
编辑D:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\include\QtCore下的qt_windows.h
在#include <windows.h>之前添加一行:
#define WIN32_LEAN_AND_MEAN
大概的原因是
错误情形1:我们在自己的工程中先包含winsock2.h再包含windows.h,如果WIN32_LEAN_AND_MEAN未定义且 _WIN32_WINNT大于或等于0x400,那么windows.h会在winsock2.h开头被自动引入,而windows.h又会自动引入 mswsock.h,此时,mswsock.h里所用的socket类型还尚未定义,因此会出现类型未定义错误。
错误情形2:先包含 windows.h再包含winsock2.h,如果WIN32_LEAN_AND_MEAN未定义且_WIN32_WINNT未定义或者其版本号小于 0x400,那么windows.h会自动导入旧有的winsock.h,这样再当winsock2.h被包含时便会引起重定义。
网上搜了一下,希望能帮到你,来源文章如下:
https://blog.csdn.net/yangguihao/article/details/50619271
发布于:2020-03-30 11:40
打赏
请登录后回答