Qt (Creator) 与 WinSocks (ws2_32)
Posted
技术标签:
【中文标题】Qt (Creator) 与 WinSocks (ws2_32)【英文标题】:Qt (Creator) with WinSocks (ws2_32) 【发布时间】:2009-11-16 13:42:07 【问题描述】:我想在使用 WinSocks 的 Qt 项目中使用旧代码片段。
我用 Qt Creator 创建了我的程序,但我不知道如何链接到 ws2_32-Library。我已经将LIBS += -lws2_32
添加到我的.pro 中,但什么也没发生。那么如何链接到这个库呢?
编辑:在哪里可以找到 ws2_32.lib 以包含它?我必须先下载它吗?我知道它带有“Visual Studio”,但我不使用它,也不想使用它。
【问题讨论】:
【参考方案1】:好的,当你知道它时,它真的很简单。Qt-SDK 带有一个 WinSock2-Library,称为libws2_32.a
。你唯一需要做的就是
做,就是在你的.pro中输入这一行:
LIBS += C:\Qt\2009.04\mingw\lib\libws2_32.a
这包括你项目中的 winsock2 库,你无事可做。
您可以通过在 .pro 中使用这一行来稍微简单地执行此操作:
LIBS += -lws2_32
【讨论】:
【参考方案2】:您应该使用.lib
s 的完整路径或相对路径(取决于您的环境中的库路径)。
来自 qmake 手册:
win32:LIBS += c:/mylibs/math.lib
【讨论】:
好的,我认为这可行。但是看看我的编辑,我在哪里可以找到这个 ws2_32.lib? QtCreator 基于 mingw,所以我认为win32:LIBS += ws2_32.lib
应该可以工作。虽然我在这里使用的是 Mac,但目前无法检查。【参考方案3】:
您还需要添加标头的路径,以便添加动态库的函数签名。
在 .pro 文件中使用 INCLUDEPATH
变量。
【讨论】:
【参考方案4】:我在c:\Program Files\Microsoft SDK\Lib\WS2_32.Lib
中有ws2_32.lib
,它带有platform sdk。我想我有一个 2003 年 2 月的旧版本,我只在使用 VC6.0 时才需要它,但我认为它也是最新版本。
【讨论】:
以上是关于Qt (Creator) 与 WinSocks (ws2_32)的主要内容,如果未能解决你的问题,请参考以下文章
markdown 如何使用Vcpkg与Qt Creator安装的Qt
Qt——Ubuntu下安装Qt Creator的方法步骤总结及其界面功能与基本设置简介(Qt简介Qt Creator版本选择软件入门常用设置)