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ć,Winsock
jest 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.