【问题标题】:A qt5 simple app doesn't run in windows 7qt5 简单应用程序无法在 Windows 7 中运行
【发布时间】:2013-03-22 07:47:56
【问题描述】:

我在 W7 中使用 Qt 5.0.1 和 Qt Creator 2.6.2。我试图从仅包含一个窗口的示例中运行一个简单的应用程序(“小部件教程 - 创建一个窗口”)。当我在 Qt Creator 中运行它时,它可以工作。但是当我将它作为独立应用程序(Release)运行时,它不会。 我用它要求的每个 dll 填充了文件夹(26 MB 的 dll,而应用程序是 10KB !!!)。现在它不要求任何文件,它根本不运行,没有任何解释。

我尝试按照Application deployed with QT5 libraries does not start on Windows 7 中的建议添加一些文件 但没有运气。在 HelloWorld Deployment with QtQuick 2.0 in Windows 7 and XP w7没有问题。

【问题讨论】:

  • 我以为是因为我在目标路径中使用了非英文字母。但我更正了,它仍然没有运行。

标签: qt dll deployment qt5 qwidget


【解决方案1】:

【讨论】:

  • 感谢您的回答,但没有帮助。使用 Dependency Walker,我向 app 文件夹和 system32 添加了一些新文件。然后添加一个文件(ieframe.dll)并没有解除警告,所以我发现 IE 更新应该有帮助。它对那个文件有帮助,但是有很多新的必需 dll。我添加了一段时间,然后我决定尝试 Qt 4.8,因为它们太多了。
  • 也许这只是一个错误。即使在我自己的电脑上,简单的窗口也有很多问题,所以我不能在客户端电脑上相信它。调试构建也可以正常工作。
  • 注意添加正确版本的 Qt DLL 文件,对于发布版本,它们的名称中没有“d”字母,所以我的建议是卸载您的编译器工具(可能是 VS 2010)然后安装再次,可能是dll文件不匹配。
  • 如果它不起作用,我认为您应该删除 SDK 并只允许 VS 2010 留在您的系统上,或者尝试使用 MinGW 版本的 Qt,因此您必须先安装 MinGW。
  • 我一直在单独的目录中测试它。我只安装了几次来自 SDK 的调试器工具,一次安装了完整的 SDK。非常感谢你的帮助。我已经卸载了 Qt5。我相信它不应该那么难处理。我尝试了带有 MSVS 的 Qt4 插件,并且我设法启动了这个 fu... 单个窗口,即使没有 pro 文件(这是 Mb 的原因,但我自己没有更改它)。而且我不再需要近 20 个 dll。现在只要 2 个就可以了。
【解决方案2】:

platforms/qwindows.dll 是运行 Qt5 应用程序的“非必需”必需 DLL。在 Release 模式下构建您的应用程序并从 Qt Creator 的文件夹中窃取 DLL(或在 Qt 的 bin/platforms 文件夹中找到它)

【讨论】:

  • 谢谢,它帮了我大忙!不要忘记将它放在名为“平台”的文件夹中!
  • 或者,最特别的是,在你在 main() 中 QApplication::addLibraryPath()'ed 的文件夹中。
猜你喜欢
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多