2010-07-29 8 views
2

Я использую EVC++ и хочу скомпилировать программу, которая использует сокеты. Я включилОшибка ссылки WSAStartup

#include <winsock2.h>

И я включил в свойствах проекта пути к Ws2.lib Но все еще получаю ошибку на этапе ссылки:

ошибка LNK2019: неразрешенный внешний символ WSAStartup ...

Как решить эту проблему?

ответ

5

Вы не связали свою программу с библиотекой winsock. Библиотека Winsock 2 называется ws2_32.lib (статическая) или ws2_32.dll (динамическая). Он уже должен быть в вашей системе; вам просто нужно сообщить своему компилятору/компоновщику, чтобы связать вашу программу с ней. Способ выполнения этого зависит от компилятора, и, к сожалению, я не знаком с EVC++.

+0

http://msdn.microsoft.com/en-us/library/ms911778.aspx Там написано о том, как работает WSAStartup. Использует ws2.dll. Но ничего не написано о ws2_32.dll – erjik

7

#pragma comment(lib,"WS2_32") после всех #include «s

+0

Это сработало для меня на Visual Studio. В основном нам нужно предоставить символы для функций компоновщику при связывании. – prashanthns