解决 warning C4003: “min”宏的实参不足
使用Qt5.0.1 for ms2010编译一个工程,错误信息如下:
d:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qdatetime.h(123) : warning C4003: “min”宏的实参不足
d:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qdatetime.h(123) : error C2589: “(”:“::”右边的非法标记
d:\qt\qt5.0.1\5.0.1\msvc2010\include\qtcore\qdatetime.h(123) : error C2059: 语法错误:“::”
同样的工程使用Qt5.0.1 for mingw 时就没这个错误信息。
认真分析后发现,原来windows.h中定义了min宏,<QTime>中也有这个定义,两者冲突。
解决办法,把include头文件顺序颠倒:
#include <windows.h>#include <QTime>
修改为:
#include <QTime>#include <windows.h>