1

我有一个 Qt 应用程序,当我从 Qt Creator 执行它时它运行良好。但是,通过手动单击生成的 exe 运行它时,出现以下错误:

在此处输入图像描述

我会理解它是否会要求丢失 DDL(然后我可以将其放在同一个文件夹中)。但是我应该如何处理这个(一般来说)?

PS 它没有在我的源代码中给出任何行号,我可以尝试测试这个断言。我也尝试使用发布模式,但同样的错误。

4

2 回答 2

1

我们不知道您的代码有什么问题;您需要使用调试器来找出答案。我认为您下载的预构建 Qt 库带有调试符号,但如果没有,您始终可以自己构建 Qt 以使用-force-debug-info配置选项获取它们。

您还可以使用DebugView查看已部署应用程序的调试输出。

但是,一般来说,您应该使用windeployqtQt 附带的工具。

Qt for Windows - 部署页面有更多关于将 Qt 应用程序部署到 Windows 机器的信息,但应该windeployqt做你需要的一切。

于 2016-03-21T13:02:33.427 回答
0

我的 qml 文件没有正确部署,因此出现了这个错误(这个断言可能在存储主 qml 文件名的变量上,即它不应该是一个空字符串,如果缺少 main.qml,它是)。将 qml 文件放在正确的路径上解决了这个问题。

此外,正如@mitch 在他的回答中指出的那样,使用windeployqt来找出依赖关系。虽然,我也意识到它并没有涵盖所有的依赖项(例如 MSVC 运行时和其他编译器相关的文件有时)。在这种情况下,运行依赖遍历器并将丢失的文件与 exe 一起手动放置。

于 2016-03-22T08:31:37.870 回答