【问题标题】:How to run a Qt-based program on windows如何在 Windows 上运行基于 Qt 的程序
【发布时间】:2013-01-28 10:31:14
【问题描述】:

最近,我使用 Qt Creator 编写了一个程序。当我使用 IDE 执行它时它运行良好,但是当我想单独运行 .exe 文件时,会出现警告,表明计算机中缺少 mingw10.dll、QtCore4.dll 等文件。有谁知道我该如何解决这个问题?

【问题讨论】:

  • 尝试先安装mingw,然后用Qt SDK下载Qt Creator。你可以看到让 qt creator 使用 mingw
  • How to run a Qt application? 的可能重复项

标签: qt mingw


【解决方案1】:

看看那个:

https://stackoverflow.com/a/621337/1758762

如果您已经构建了程序的“发布”版本,请将其和以下 DLL 从 qt\bin 复制到一个目录:

QtCore4.dll、QtGui4.dll 和 mingwm10.dll(如果您使用 gcc 和 minGW 编译)。

【讨论】:

  • 谢谢。但是现在还是想运行程序时,一直提示:程序入口点??0QPointF@@QAE@NN@Z在动态链接库QtCore4.dll中找不到。我该怎么办?
  • 请注意复制了正确的库,有很多(/bin/QtCore4.dll、/lib/QtCore4.dll、QtCreator/bin/QtCore4.dll)。你猫检查的正确的在控制台中使用 dumpbin QtCore4.dll /exports。我认为它应该是来自 QtCreator/bin 的,但请先检查。
  • @duDE QtCreator/bin中的通常是Creator使用的VS构建的,所以正确的是/bin/QtCore4.dll i> (并且 /lib/QtCore4.dll 应该与 /bin/QtCore4.dll 相同)
【解决方案2】:

您从以下位置复制这些 dll:MinGW_install\bin 和 qt_install_path\bin 与您的应用程序位于同一文件夹中。

DependencyWalker 是一个很酷的工具,您可以使用它来查看需要什么。

您还可以在Qt documentation 中阅读更多内容 - 他们也提供静态构建,您创建一个不需要 Qt dll 的大 exe - 但请注意您必须自己构建 Qt,LGPL 对此有一些限制(所以我想你可以忽略静态构建部分并阅读那里的插件部署)

【讨论】:

  • 您能详细解释一下静态构建部分吗?谢谢
  • 可以静态构建Qt(需要从源代码重新构建Qt框架),基本步骤是下载源代码并解压,运行configure.exe -static(加- 您可能需要的其他选项)并运行 nmake(如果您使用 Visual Studio)或 mingw32-make(对于 MinGW)来实际构建 Qt 框架,无论如何先阅读在文档链接中了解它,如果您使用开源 Qt,请阅读有关静态链接的 LGPL 限制。
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 2013-04-18
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多