报错信息如下:
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的修改与相同。
修改好后,再次编译,即可通过啦