У меня проблема с обоими файлами. Теперь я знаю, что мне нужно сначала включить Winsock2, затем windows.h или просто поставить:
#define WIN32_LEAN_AND_MEAN
но у меня все еще возникают проблемы.
У меня есть файл заголовка, который называется XS.h
, который выглядит как
#ifndef XS_H
#define XS_H
#include <winsock2.h>
#include <ws2tcpip.h>
#include <Windows.h>
#endif
и я включаю XS.h
в заголовок Client.h
.
Client.h
include выглядит следующим образом:
#ifndef CLIENT_H
#define CLIENT_H
#include "XS.h"
XS.h
является моим единственным включением в Client.h
, но я все еще получаю ошибки (и, как вы можете видеть, Winsock
включен до windows.h
Я получаю около 78 ошибок, вот некоторые из них:
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
Как я могу решить эту проблему?
Спасибо!
Изменить: я также пытался использовать #define _WINSOCKAPI_
, хотя это не помогло решить мои проблемы...
Сначала у меня winsock.h
, затем windows.h
, хотя он все еще делает ошибку для меня.