Qt关于解决warning C4003的方法

报错信息如下:

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: 语法错误:“::”


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

Qt关于解决warning C4003的方法_第1张图片


原因分析:

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


解决方案为:

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

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

max的修改与相同。

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



你可能感兴趣的:(Qt关于解决warning C4003的方法)