Я пытаюсь создать некоторый код сокета Windows, используя C. Я начал со следующего базового кода для инициализации WinSock:
#include <winsock2.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
WSADATA wsa;
SOCKET s;
printf("\nInitialising Winsock...");
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
{
printf("Failed. Error Code : %d",WSAGetLastError());
return 1;
}
printf("Initialised.\n");
};
Когда я запускаю код, я получаю такие ошибки, как:
undefined reference to '__imp_WSAStartup'
Быстрый Google предполагает, что это связано с необходимостью ссылки на библиотеку - ws2_32
?
Я использовал Cygwin, но, видимо, это пытается имитироватьсреда POSIX в Windows и, следовательно, MinGW гораздо больше подходит в этом случае. Поэтому я установил это и обновил настройки в VSCode, чтобы использовать его.
Теперь моя проблема в том, что я не уверен, как связать требуемую библиотеку. Я делаю это в моей программе, добавляя код? Я делаю это в каком-то отдельном терминале?
Это все ново для меня.