2015-10-23 12 views
1

Я пытаюсь запустить проект с помощью Visual studio 2003. Но я получаю много ошибок компиляции, подобных приведенным ниже.WinSock2.h Ошибки компиляции

Ошибки указывают на файл 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 \ WinSoc k2.h (109): ошибка C2143: синтаксис ошибка: отсутствует ';' до '{'

Файл ws2_32.lib добавлен в «Свойства конфигурации - Linker - Input - Additional Dependencies». Платформа конфигурации сборки - win32.

Заранее за вашу помощь.

+0

проверка если winsock2.h включена до любого другого заголовков окон (особенно самих windows.h). Из-за некоторой обратной совместимости со сломанным winsock.h (версия 1) включает в себя порядок * имеет значение с winsock ... – Hcorg

+0

@Hcorg, Есть несколько оконных файлов. Я слышал файлы, я изменил файл заголовка/удалил и т. Д., Но все же Я получаю сообщение об ошибке. Позвольте мне попробовать все варианты .. – Ullan

+0

@ Ullan, у вас есть ссылка на минимальный код, чтобы попытаться решить проблему. – HDJEMAI

ответ

1

типичный основной Winsock приложений с хорошим порядка заголовочных файлов можно найти here:

#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; 
} 

Порядок включения файлов заголовков важно

 Смежные вопросы

  • Нет связанных вопросов^_^