Как прокомментировал @Joshua, вы, вероятно, захотите ws2_32.dll
.
Коллекция компиляторов GNU использует ranlib архивы (файлы A), а не файлы LIB Visual Studio.
Проект w32headers предоставляет gcc
- и g++
-совместимые заголовки и архивы для большинства стандартных библиотек DLL Windows, включая ws2_32.dll
.В качестве имени архива обычно используется имя DLL за вычетом расширения .dll
, с префиксом lib
и суффиксом .a
(в соответствии с соглашением * nix о присвоении имен архивам).Таким образом, символы для ws2_32.dll
находятся в libws2_32.a
, что можно связать с помощью ‑lws2_32
.
По умолчанию архивы w32headers находятся в пути к библиотеке GNU ld
, чтобы иметь возможностьдля связи со стандартными DLL-библиотеками Windows нет необходимости добавлять каталоги библиотек с параметром ‑L
.В вашем случае единственная необходимая опция - это ‑lws2_32
:
g++ C:\Program.cpp -lws2_32
При условии, что компиляция и компоновка завершатся успешно, в текущем каталоге будет вывод a.exe
.Вы можете переопределить имя выходного двоичного файла с помощью опции ‑o
.
ПРИМЕЧАНИЕ: Я использовал неразрывные дефисы в своем ответе.Если вы копируете и вставляете параметры командной строки, обязательно замените все выглядящие дефисом символы на обычные дефисы.