winsock2, ошибка компиляции.
Цитата:
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'
d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(54) : see declaration of 'fd_set'
90 ошибок и 12 варнов подобного плана. Переустановка пакета решит проблему (для меня это не критично)? Заранее, спасибо.
Project->Properties
потом заходи в раздел
configuration properties/linker/input
И в строке Additional Dependencies напиши ws2_32.lib
библиотека есть, иначе бы линкер ругался. Что впрямую, что прагмой подключал, дело, видно, не в этом.
Ты сразу подключил обе версии winsock-а?
зачем? разумеется - нет. Делал так: подключу 1ю версию, всок32.либ, версия 0х0101 (MAKEWORD(1,1)), потом вторую версию, ws2_32.lib, 0х0202 (MAKEWORD(2,2)). Все компилируется и линкуется без варнов и ошибок, но после запуска сразу ошибка и в дебаг.
Выложите отрывок исходного кода. Может станет понятней.
Цитата:
#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;
}
Включи precompiled header-ы и будет тебе счастье (на той машине где ворнинги и эрроры)
надо было местами поменять хидеры winsock2.h перед windows.h, а было наоборот, теперь все работает, но хотелось бы знать, почему так?