Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

winsock2, ошибка компиляции.

40K
19 августа 2008 года
Kramer
10 / / 19.08.2008
Доброго времени суток. У меня установлена MS VS 2005 PE; столкнулся с проблемой в написании простого сокет-сервера: прога вылетает с ошибкой на WSAStarup() и просит отладки. На это никак не влияет версия заголовков (1,2). Я установил студию на другом ПК, сокеты 1й версии работают, 2й же при компиляции выдет море ошибок:
Цитата:
d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(112) : error C2011: 'fd_set' : 'struct' type redefinition
d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(54) : see declaration of 'fd_set'

90 ошибок и 12 варнов подобного плана. Переустановка пакета решит проблему (для меня это не критично)? Заранее, спасибо.

25K
19 августа 2008 года
mdrm
37 / / 26.05.2008
Попробуй добавить библиотеку,
Project->Properties
потом заходи в раздел
configuration properties/linker/input
И в строке Additional Dependencies напиши ws2_32.lib
40K
19 августа 2008 года
Kramer
10 / / 19.08.2008
библиотека есть, иначе бы линкер ругался. Что впрямую, что прагмой подключал, дело, видно, не в этом.
14
19 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Ты сразу подключил обе версии winsock-а?
40K
19 августа 2008 года
Kramer
10 / / 19.08.2008
зачем? разумеется - нет. Делал так: подключу 1ю версию, всок32.либ, версия 0х0101 (MAKEWORD(1,1)), потом вторую версию, ws2_32.lib, 0х0202 (MAKEWORD(2,2)). Все компилируется и линкуется без варнов и ошибок, но после запуска сразу ошибка и в дебаг.
288
19 августа 2008 года
nikitozz
1.2K / / 09.03.2007
Выложите отрывок исходного кода. Может станет понятней.
40K
19 августа 2008 года
Kramer
10 / / 19.08.2008
все банально:
Цитата:

#include <windows.h>
#include <winsock2.h>

#pragma comment(lib, "ws2_32.lib") //or linker settings

int main()
{
WSADATA wData;
WSAStartup(MAKEWORD(2,2), &wData); //ставлю на нее каменты - работает, иначе - нет(
return 0;
}

14
19 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Включи precompiled header-ы и будет тебе счастье (на той машине где ворнинги и эрроры)
40K
20 августа 2008 года
Kramer
10 / / 19.08.2008
надо было местами поменять хидеры winsock2.h перед windows.h, а было наоборот, теперь все работает, но хотелось бы знать, почему так?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог