qt项目winsock2中类型被winsock重定义了

windows项目中winsock.h、winsock2.h、windows.h的重复包含问题由来已久,今天在qt项目上遇到了有点闹心,

场景:项目新添加了一个第三方的库,应用而不调用的时候编译没问题,一旦包含头文件并且调用其中接口,就报错,各种类型重复定义

以前项目在vs里面,代码全部自己写的,大部分是因为winsock2.h和windows.h包含顺序引起的,可是今天用到全是qt和第三方的库,根本没有自己主动包含这些库的地方,于是从main.cpp里开始,把头文件的引用放到第一行,没事了。放到一堆include的最后一行,编译失败,于是一点点的定位,发现和项目中包含了qquickwidget、qquickview有关,但是也不能直接把这两个组件拿掉,

以前知道stdafx.h中定义

WIN32_LEAN_AND_MEAN

并且设置预编译头

qt里面就要在每一个包含的地方加上这个太麻烦,于是用了一个比较简便的方法

pro文件中加上

DEFINES += WIN32_LEAN_AND_MEAN

的定义

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值