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】:

您应该使用.libs 的完整路径或相对路径(取决于您的环境中的库路径)。

来自 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版本选择软件入门常用设置)

Qt Creator的安装与Qt交叉编译的配置

如何将我的静态 Qt 构建与 Creator 一起使用?

QT,QT/E,Qtopia,qt creator的联系与区别

Qt-Qt Creator的下载安装与配置(Windows)