1

我将 Qt Creator 与 MinGW 一起使用。

我包括“windows.h”并编译它,但它失败了。错误如下:

In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windows.h:98:0,
             from util/IdleDetector.h:8,
             from service\PresenceService.cpp:8:
c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:771:22: error:     expected unqualified-id before string constant
c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:1034:95: error: expected identifier before string constant
c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:1034:95: error: expected ',' or '...' before string constant

我以为 MinGW 路径丢失了,但事实并非如此。我怎样才能解决这个问题?

4

1 回答 1

0

windows.h拉入winsock.h还是winsock2.h?两者互不相容。 winsock2.h旨在替换winsock.h,因此重新声明了很多winsock.h已经声明的内容。如果winsock2.h之前包含winsock.h,则winsock2.h静默禁用winsock.h,一切都很好。但是如果winsock.h包含在之前winsock2.h,就会出现各种错误。

于 2011-10-24T22:34:10.773 回答