windows.h和winsock2.h报错误问题

记录一个在VS2019将项目改为qt项目过程中遇到的bug(1):

项目主要是一个多线程,功能包括从reids读取数据,进行处理,写入文件的项目:

由于之前的项目是用cmd命令行为输出,而cmd窗口模式一般显得低端还有个致命的问题是窗口模式鼠标的点击会造成线程的暂停等原因,于是就受到了这个任务


首先是windows.h 和 winsock2的问题

这个问题是在写的时候是真的让人头疼:

因为本身的文件是只有windows.h的,我将qt项目建立完后,然后只是简单画了个界面,也还没做联动,运行一下直接报了一大堆错,这种时候进入错误文件去看错误细节基本没什么意义,看了下很多都是winsock2文件出错,报的也都是重复定义

部分报错信息

`

这个问题在网上的分析还是非常多的:

具体的问题我其实也不是很能吃透,看了一些报错的细节还是没能静下心来去深入理解,只知道最表象的原因是因为winsock2.h之前的版本winsock.h,然后由于导入的模块中包含的模块:windows.h,winsock.h,winsock2.h都有,以至于对于包含关系顺序出错的时候,就会报这么多错误。


解决方案:

解决方案其实不止我一种,我只写我用的最简单粗暴的方式:

在VS调试——>项目属性——>C/C++——>预处理器定义中加入WIN32_LEAN_AND_MEAN。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值