Qt关于解决warning C4003的方法

本文详细介绍了在使用Qt开发时遇到的编译警告和错误,特别是关于宏冲突的问题,并提供了相应的解决方案。通过在关键代码段使用括号,成功解决了警告和错误,使得项目能够顺利编译并通过。

报错信息如下:

1>ClCompile:
1>  moc_buddylist_widget.cpp
1>e:\qt\qt5.3.2\5.3\msvc2010_opengl\include\qtcore\qdatetime.h(122): warning C4003: “min”宏的实参不足
1>e:\qt\qt5.3.2\5.3\msvc2010_opengl\include\qtcore\qdatetime.h(122): error C2589: “(”:“::”右边的非法标记
1>e:\qt\qt5.3.2\5.3\msvc2010_opengl\include\qtcore\qdatetime.h(122): error C2059: 语法错误:“::”


笔者双击报错信息,提示指向这里



原因分析:

<windows.h>头文件中的宏 min(或者max)与QT的类QTimer 中的宏min(或者max)冲突


解决方案为:

从 std 到 min 之间的 代码用括号括起来即可:

static inline qint64 nullJd() { return (std::numeric_limits<qint64>::min)(); }

max的修改与相同。

修改好后,再次编译,即可通过啦大笑



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值