【问题标题】:Qt (Creator) with WinSocks (ws2_32)Qt (Creator) 与 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”,但我不使用它,也不想使用它。

【问题讨论】:

    标签: c++ qt qt4 winsock


    【解决方案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 时才需要它,但我认为它也是最新版本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多