Qt (Creator) with WinSocks (ws2_32)

2020-02-07 02:37发布

问题:

I want to use an older code-fragment in my Qt-project, which is using WinSocks.
I created my program with Qt Creator and I don't know, how I can link to the ws2_32-Library. I already added LIBS += -lws2_32 to my .pro, but nothing happened. So how can I link to this library?

edit: Where can I find the ws2_32.lib to include it? Do I have to download it first? I know it comes with "Visual Studio", but I don't use it and I don't want to use it.

回答1:

ok, when you know it, it's really simple.The Qt-SDK comes with a WinSock2-Library, called libws2_32.a.The only thing you have to do, is to enter this line in your .pro:

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

this includes the winsock2-library to your project and you have nothing else to do.

You may do this slightly more simply by using this line in your .pro:

LIBS += -lws2_32


回答2:

You are supposed to use the full or relative path (depends on what library paths you have in your enviroment) to the .libs.

From the qmake manual:

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


回答3:

You need too to add the path to the headers in order to add the function's signatures of a dynamic library.

Use the INCLUDEPATH variable into the .pro file.



回答4:

I have ws2_32.lib in c:\Program Files\Microsoft SDK\Lib\WS2_32.Lib it comes with the platform sdk. I have a very old version from Feb 2003 I think, I only needed it when I was using VC6.0, but I assume it is in the latest version too.



标签: c++ qt qt4 winsock