#include "stdafx.h"
#include "Winsock2.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
WSADATA WsaData;
WSAStartup (0x0101, &WsaData);
return 0;
}
Может это просто... но... error!
MySock.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Подключите Ws2_32.lib в проект.
#pragma comment(lib, "ws2_32.lib")
Ну неужели трудно поискать по форуму подобные темы, или почитать внимательней текст ошибки или хелп по WSAStartup?
[/quote]
Я искал...
И в MSDN'е читал...
Просто не знал, что в C++ надо библиотеку именно так подключать - думал, что всё уже содержится в Winsock2.h!
#pragma comment(lib, "ws2_32.lib") - то что надо!
Цитата:
Просто не знал, что в C++ надо библиотеку именно так подключать - думал, что всё уже содержится в Winsock2.h!
это зависит от компилятора, не от языка...
gcc так не делает
Но когда мы юзаем какой то сторонний код, откуда линкер узнает где брать реализацию, того чьи заголовки описанны в *.h файле?
Если там конечно не шаблонные классы/функции, с реализацией там же.
Вот и надо подключать нужные либы вручную всегда. В MSVC например так как показали с помощью #pragma comment, или указать в опциях проекта.
В других компиляторах так же надо указывать, своим способом.
Исключение только стандартные либы языка, которые обычно линкуются автоматически.