2009-11-16 135 views
4

我想在使用WinSocks的Qt項目中使用較舊的代碼片段。
我用Qt Creator創建了我的程序,我不知道如何鏈接到ws2_32庫。我已經將LIBS += -lws2_32添加到我的.pro中,但沒有發生任何事情。那麼我怎樣才能鏈接到這個庫?帶WinSocks的Qt(Creator)(ws2_32)

編輯:我在哪裏可以找到包含它的ws2_32.lib?我必須先下載它嗎?我知道它帶有「Visual Studio」,但我不使用它,我不想使用它。

回答

13

OK,當你知道它,它真的simple.The的Qt SDK自帶的WinSock2庫,稱爲libws2_32.a你必須 做。唯一的事情,就是在你的.pro進入這一行:

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

這包括Winsock2的庫到你的項目,你有沒有別的事情可做。

你可以做到這一點稍微只需在您的.pro使用此行:

LIBS += -lws2_32 
0

您應該使用完整或相對路徑(取決於您在環境中具有的庫路徑)到.lib s。

從QMAKE手冊:

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

好,我覺得這可能是工作。但看看我的編輯,我在哪裏可以找到這個ws2_32.lib? – Berschi 2009-11-16 14:13:22

+0

QtCreator基於mingw,所以'win32:LIBS + = ws2_32.lib'應該可以工作。目前無法檢查,因爲我在這裏的Mac上。 – 2009-11-16 14:34:29

+0

也許只是'+ = ws2_32'。 – 2009-11-16 14:40:55

0

你不需要太多的路徑添加到標題,以添加一個動態庫的函數的簽名。

在.pro文件中使用INCLUDEPATH變量。

0

我有ws2_32.libc:\Program Files\Microsoft SDK\Lib\WS2_32.Lib它配備了platform sdk。我從2003年2月開始有一個非常舊的版本,我想我只在使用VC6.0時需要它,但我認爲它也是最新版本。