Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
Вот уж чего я бы не советовал - это вмешиваться в APIшные заголовки. 17.03.04 16:02 Число просмотров: 1544
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
<programming>
|
[Win32] #include 16.03.04 21:19
Автор: choor Статус: Elderman
|
При компиле вылазит:
Построить
[C++ Error] winsock2.h(109): E2238 Multiple declaration for 'fd_set'
[C++ Error] winsock.h(54): E2344 Earlier declaration of 'fd_set'
[C++ Error] winsock2.h(112): E2146 Need an identifier to declare
[C++ Предупреждение] winsock2.h(144): W8017 Redefinition of 'FD_SET' is not identical
[C++ Error] winsock2.h(153): E2238 Multiple declaration for 'timeval'
[C++ Error] winsock.h(97): E2344 Earlier declaration of 'timeval'
[C++ Error] winsock2.h(209): E2238 Multiple declaration for 'hostent'
[C++ Error] winsock.h(153): E2344 Earlier declaration of 'hostent'
[C++ Error] winsock2.h(222): E2238 Multiple declaration for 'netent'
[C++ Error] winsock.h(166): E2344 Earlier declaration of 'netent'
[C++ Error] winsock2.h(229): E2238 Multiple declaration for 'servent'
[C++ Error] winsock.h(173): E2344 Earlier declaration of 'servent'
[C++ Error] winsock2.h(241): E2238 Multiple declaration for 'protoent'
[C++ Error] winsock.h(185): E2344 Earlier declaration of 'protoent'
[C++ Error] winsock2.h(327): E2238 Multiple declaration for 'in_addr'
[C++ Error] winsock.h(269): E2344 Earlier declaration of 'in_addr'
[C++ Error] winsock2.h(385): E2238 Multiple declaration for 'sockaddr_in'
[C++ Error] winsock.h(319): E2344 Earlier declaration of 'sockaddr_in'
[C++ Error] winsock2.h(395): E2238 Multiple declaration for 'WSAData'
[C++ Error] winsock.h(329): E2344 Earlier declaration of 'WSAData'
[C++ Error] winsock2.h(411): E2146 Need an identifier to declare
[C++ Предупреждение] winsock2.h(455): W8017 Redefinition of 'SO_DONTLINGER' is not identical
[C++ Предупреждение] winsock2.h(512): W8017 Redefinition of 'AF_IPX' is not identical
[C++ Предупреждение] winsock2.h(540): W8017 Redefinition of 'AF_MAX' is not identical
[C++ Error] winsock2.h(546): E2238 Multiple declaration for 'sockaddr'
[C++ Error] winsock.h(492): E2344 Earlier declaration of 'sockaddr'
[C++ Error] winsock2.h(586): E2238 Multiple declaration for 'sockproto'
[C++ Error] winsock.h(501): E2344 Earlier declaration of 'sockproto'
[C++ Error] winsock2.h(625): E2238 Multiple declaration for 'linger'
[C++ Error] winsock2.h(625): E2228 Too many error or warning messages
---
Может существуют какие-то особенности при работе с winsock2.h ? глядел внутрь.... ничего не нашёл
|
|
[Win32] #include 17.03.04 17:40
Автор: ukv Статус: Незарегистрированный пользователь
|
Особенность при работе с Winsock2 одна - не надо одновременно использовать интерфейс к старой версии API. Отличаются они тем, что в Winsock2 добавлены новые функции, начинающиеся с префикса WSA (за исключением WSAStartup, WSACleanup, WSARecvEx, WSAGetLastError - которые уже были в Winsock 1.x). Это в теории.
На практике в winsock.h куча имен, начинающихся с WSA. Но общее правило все равно то же: либо winsock.h, либо winsock2.h.
Если ссылка на winsock.h внутри windows.h - можно попробовать поставить #include <winsock2.h> выше включения windows.h. Тогда (в VC6) переменнаяWINSOCKAPIбудет установлена до включения файла windows.h и включения winsock.h из него, и ошибок быть не должно.
|
|
[Win32] #include 17.03.04 08:18
Автор: IgorR <Igor Razin> Статус: Member
|
Замени в windows.h winsock.h на winsock2.h, или дефайн нужный поставь.
|
| |
Вот уж чего я бы не советовал - это вмешиваться в APIшные заголовки. 17.03.04 16:02
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
| | |
Ну, например, в моем windows.h от 7.0 студии нету упоминания... 17.03.04 16:20
Автор: IgorR <Igor Razin> Статус: Member
|
Ну, например, в моем windows.h от 7.0 студии нету упоминания о winsock2.h. В windows.h от 6.0 есть. Как быть?
|
|
Эта, ты определись - либо winsock.h, либо winsock2.h. Одновременно их включать нельзя. 16.03.04 21:28
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
| |
Мои инклуды 16.03.04 21:33
Автор: choor Статус: Elderman
|
#define WIN32
#include <windows.h>
#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
---
|
| | |
А дефайны? С которыми компилятор собирает. 16.03.04 21:37
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
| | | |
только #define WIN32 16.03.04 21:58
Автор: choor Статус: Elderman
|
|
|
|