Разве это не та же проблема, что и здесь?
http://programmingrants.blogspot.com/2009/09/tips-on-undefined-reference-to.html
В основном не забудьте связать с Ws2_32.lib (сообщение от компоновщика, так что это должно бытьпричина), но вы, кажется, уже делаете это.
... если вы работаете со старой версией инструментов программирования Windows, скажите, что у вас версия выше XP, поставив #define _WIN32_WINNT 0x0501
передвключая заголовки (вряд ли это будет необходимо в настоящее время, но возможно).
Могут быть и другие простые проблемы.Обычное (Unix) соглашение для библиотек состоит в том, чтобы добавить их к lib.В дальнейшем значение для -lWS32_32 будет означать поиск файла с именем libWS32_32.a
.Вероятно, он не находит его, потому что ему не хватает пути к каталогу, содержащему библиотеку.Вы можете добавить -L, за которым следует путь к правильному каталогу.В качестве альтернативы вам даже не нужен ключ -l для связи с библиотекой, достаточно указать полный путь к библиотеке (в данном случае реальное имя файла в том виде, в каком оно отображается в файловой системе).
Проблематакже может быть связано с путем.Например, могут возникнуть проблемы, если путь к библиотеке содержит пробелы.Если это так, вы можете попробовать поместить свои библиотечные файлы в каталог с более простым именем.
Пожалуйста, дайте некоторую обратную связь о вашей фактической конфигурации (в каком каталоге находится файл библиотеки) и о том, что вы на самом деле пытались.Вы также можете попытаться установить переменные окружения LIBS и LIBPATH (возможно, самый простой способ это сделать из make-файла).