Nie można dołączyć obu plików (WinSock2, Windows.h)

Mam problem z obydwoma plikami. Teraz wiem, że najpierw muszę dołączyć Winsock2, a następnie windows.h lub po prostu:

#define WIN32_LEAN_AND_MEAN

ale nadal mam problemy

Mam plik nagłówka o nazwieXS.h który wygląda tak

#ifndef XS_H
#define XS_H

#include <winsock2.h>
#include <ws2tcpip.h>
#include <Windows.h>

#endif

i jestem w tymXS.h w nagłówkuClient.h. Client.h include wygląda następująco:

#ifndef CLIENT_H
#define CLIENT_H

#include "XS.h"

XS.h jest mój jedyny wClient.h, ale wciąż pojawiają się błędy (i jak widać,Winsockjest zawarty wcześniejwindows.h

Dostaję około 78 błędów, oto niektóre z nich:

Error   90  error C3861: 'WSASetLastError': identifier not found    c:\program files (x86)\windows kits\8.0\include\um\ws2tcpip.h   703
Error   61  error C2375: 'WSAStartup' : redefinition; different linkage c:\program files (x86)\windows kits\8.0\include\um\winsock2.h   2296
Error   49  error C2375: 'send' : redefinition; different linkage   c:\program files (x86)\windows kits\8.0\include\um\winsock2.h   2026

Jak mogę rozwiązać ten problem?

Dzięki!

Edycja: Próbowałem użyć#define _WINSOCKAPI_ też, chociaż to nie rozwiązało moich problemów ... mamwinsock.h więc najpierwwindows.h, chociaż nadal powoduje to dla mnie błąd.

questionAnswers(2)

yourAnswerToTheQuestion