Я не могу включить winsock2.h используя MinGW - PullRequest
1 голос
/ 24 октября 2011

Я использую 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 отсутствует, но это не так. Как я могу это исправить?

1 Ответ

0 голосов
/ 25 октября 2011

windows.h тянет winsock.h или winsock2.h?Эти два не совместимы друг с другом.winsock2.h предназначен для замены winsock.h и поэтому повторно объявляет о многих вещах, которые winsock.h уже объявляет.Если winsock2.h включено до winsock.h, то winsock2.h отключает winsock.h без предупреждения, и все в порядке.Но если winsock.h включено до winsock2.h, возможны всевозможные ошибки.

...