Я пытаюсь запустить проект с использованием Visual Studio 2003. Но я получаю много ошибок компиляции, подобных следующим.
Ошибки указывают на файл WinSock2.h. Я копирую несколько фрагментов кода из файла WinSock2.h и соответствующие ошибки
typedef struct fd_set {
u_int fd_count; /* how many are SET? */
SOCKET fd_array[FD_SETSIZE]; /* an array of SOCKETs */
} fd_set;
C: \ Program Files \ Microsoft Visual Studio .NET
2003 \ Vc7 \ PlatformSDK \ Include \ WinSock2.h (114): ошибка C2065: ‘fd_set’:
необъявленный идентификатор
struct sockaddr {
u_short sa_family; /* address family */
char sa_data[14]; /* up to 14 bytes of direct address */
};
C: \ Program Files \ Microsoft Visual Studio .NET
2003 \ Vc7 \ PlatformSDK \ Include \ WinSock2.h (109): ошибка C2143: синтаксис
ошибка: отсутствует ‘;’ до ‘{‘
Файл ws2_32.lib добавлен в «Свойства конфигурации — Линкер — Ввод — Дополнительные зависимости». Платформа конфигурации сборки — win32.
Заранее спасибо за помощь.
можно найти типичное базовое приложение Winsock с хорошим порядком заголовочных файлов Вот:
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main() {
return 0;
}
Порядок включения заголовочных файлов важен
Других решений пока нет …