2009-11-16 2 views
4

Я хочу использовать старый код-фрагмент в моем Qt-проекте, который использует WinSocks.
Я создал свою программу с Qt Creator, и я не знаю, как я могу ссылаться на ws2_32-Library. Я уже добавил LIBS += -lws2_32 в мой .pro, но ничего не произошло. Итак, как я могу связать эту библиотеку?Qt (Creator) с WinSocks (ws2_32)

Редактировать: Где я могу найти ws2_32.lib, чтобы включить его? Нужно ли сначала загружать его? Я знаю, что он поставляется с «Visual Studio», но я не использую его, и я не хочу его использовать.

ответ

13

нормально, когда вы знаете, это действительно simple.The Qt-SDK поставляется с WinSock2-библиотека, называется libws2_32.a .the только вещь, которую вы должны сделать, это ввести эту строку в ваш .pro:

LIBS += C:\Qt\2009.04\mingw\lib\libws2_32.a

это включает WinSock2-библиотеку в ваш проект, и вы не должны ничего делать не надо.

Вы можете сделать это немного больше, просто используя эту строку в ваш .pro:

LIBS += -lws2_32 
0

Предполагается использовать полный или относительный путь (в зависимости от того, какие пути библиотеки у вас есть в окружающей среде) до .lib.

Из инструкции QMAKE:

win32:LIBS += c:/mylibs/math.lib 
+0

нормально, я думаю, что это может работать. Но посмотрите на мое редактирование, где я могу найти этот ws2_32.lib? – Berschi

+0

QtCreator основан на mingw, поэтому 'win32: LIBS + = ws2_32.lib' должен работать, я думаю. Не могу проверить в данный момент, хотя, как я на mac здесь. –

+0

Возможно, просто '+ = ws2_32'. –

0

Вы должны также добавить путь к заголовкам, чтобы добавить сигнатур функций динамической библиотеки.

Используйте переменную INCLUDEPATH в файле .pro.

0

У меня ws2_32.lib в c:\Program Files\Microsoft SDK\Lib\WS2_32.Lib он поставляется с platform sdk. У меня очень старая версия с февраля 2003 года, я думаю, мне это было нужно только тогда, когда я использовал VC6.0, но я предполагаю, что она также находится в последней версии.