【问题标题】:Connecting pthreadgc2.dll to qt project将 pthreadgc2.dll 连接到 qt 项目
【发布时间】:2017-03-17 11:41:12
【问题描述】:

我需要关于将 pthread 安装到 qt 的帮助。

问题是我正在为它制作带有 winpcap 和 pcapplusplus 包装器的项目。但它仍然需要pthreads。我缺少 pthreadgc2.dll,我不知道如何将它连接到我的 qt 项目。基本上,程序可以编译,但是一旦我尝试在 qt 中启动它就会崩溃。所以,我真的不需要 pthread 和 qthread 与 qt 一起分发,我需要这些库:http://ftp.ntua.gr/mirror/mingw/MinGW/Base/pthreads-w32/pthreads-w32-2.9.1/pthreads-w32-2.9.1-1-mingw32-dev.tar.lzma

但是也没有dll文件,我不明白如何用它来构建项目。

是的,我确定我需要哪个 dll,我用dependency walker 检查了它,但我不知道在哪里可以找到它。希望对你们有所帮助,伙计们。

【问题讨论】:

  • 您也可以尝试使用 MXE 进行交叉编译。它有 Qt 和 winpcap。

标签: c++ windows qt pthreads pcapplusplus


【解决方案1】:

并非所有可下载的 MinGW 版本都能与 pthread 一起正常工作。

有:

https://sourceforge.net/p/mingw-w64/wiki2/Compile%20pthreads/

确实如此,但我建议改用 TDM-gcc,http://tdm-gcc.tdragon.net/。 它得到更积极的维护,并且 pthread 开箱即用。

然后您可以在链接阶段简单地使用 -lpthread 进行链接

【讨论】:

  • 这个链接真的很有帮助,非常感谢。但我仍然有问题。我将 dll 添加到 /mingw53_32/bin,并像“启动”这样的程序。我的 .pro 文件也如下所示:pastebin.com/WjzEryCA
  • 程序出现在 taskmgr 但窗口不显示。我真的不知道发生了什么。
  • 好伙伴,现在您将 dll 添加到 mingw 查找的路径中是向前迈出的重要一步。如果该窗口未显示,则听起来您的 Qt 代码可能有其他问题。没有看到整个代码有点难说,但你是否同时使用函数 window.show() 和 QApplication::exec() ?在这里查看一些额外的帮助:stackoverflow.com/questions/4350624/…
  • 该项目实际上没有代码。我可以展示它。这里pastebin.com/AF93pRkP
  • 有些东西没有多大意义:你在命名空间中声明你的类,但在全局命名空间中定义它;您的类包含一个指向自身的指针,您在构造函数中对其进行了初始化。我建议您从 Qt 网站获取代码,例如 doc.qt.io/qt-5/qtwidgets-desktop-screenshot-example.html,然后从那里开始。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-13
  • 2018-11-21
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2021-05-13
相关资源
最近更新 更多