同时使用Qt与mms.lite库时时,在互相包含头文件时出现了winsock2.h和windos.h包含顺序错误的出错信息(一大堆重定义错误)。查找mms.lite库发现在sysincs.h中已经有对这两个头文件包含顺序的处理,如下所示:
/* winsock2.h MUST ALWAYS BE BEFORE windows.h to override defs in */
/* winsock.h (included by windows.h). Any module that includes windows.h*/
/* before sysincs.h, must also include winsock2.h before windows.h. */
#include <winsock2.h> /* must be before windows.h */
#include <windows.h>
在google上查Qt这方面的问题,得到解决方法如下:
编辑D:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\include\QtCore下的qt_windows.h
在#include <windows.h>之前添加一行:
#define WIN32_LEAN_AND_MEAN