我刚刚完成了用Qt编程的应用程序。它与我的Qt Creator运行良好,但是当我从发布目录中复制带有所有必要的dll文件的.exe时。它不需要任何进一步的dll文件,但它只是崩溃。发生了什么事?
Problem signature:
Problem Event Name: APPCRASH
Application Name: agrisis.exe
Application Version: 0.0.0.0
Application Timestamp: 532025fe
Fault Module Name: Qt5Cored.dll
Fault Module Version: 5.2.1.0
Fault Module Timestamp: 52ed6764
Exception Code: c0000005
Exception Offset: 00216730
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
我已将Qt5 bin目录中的所有dll文件复制到我的应用程序目录,但现在它不再在Qt5Cored.dll崩溃,它在Qt5WebKitd崩溃(应用程序屏幕显示正常但是网络组件无法显示):
Problem Event Name: APPCRASH
Application Name: agrisis.exe
Application Version: 0.0.0.0
Application Timestamp: 53214fe7
Fault Module Name: Qt5WebKitd.dll
Fault Module Version: 5.2.1.0
Fault Module Timestamp: 52ed99de
Exception Code: c0000005
Exception Offset: 01d0a465
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: a7aa
Additional Information 2: a7aa91f17ea749d42a4de3b390fa5b3d
Additional Information 3: a7aa
Additional Information 4: a7aa91f17ea749d42a4de3b390fa5b3d
答案 0 :(得分:2)
您可能缺少仅在运行时加载的文件(如插件DLL)。本指南将帮助您快速找到这些DLL。它假设:
初始部署(快速和脏)
如果您的应用正常工作,恭喜!您几乎已准备好进行部署。您不希望发送1.5GB软件包,因此需要清理未使用的文件。
如果它无法正常工作,请寻求更多帮助。
最终部署(已清理)
在C:\ Deployment \及其所有子目录中执行以下删除步骤。每次删除后,启动C:\ Deployment \ MyApp.exe并测试它。如果它停止工作,请恢复刚刚删除的文件。
删除了所有不需要的文件后,
改编自: http://qt-project.org/wiki/Deploy_an_Application_on_Windows
答案 1 :(得分:1)
通常在运行.exe文件时,会显示一条消息,显示缺少的dll。但对于某些dll文件,此消息根本不显示。
我复制了Qt的所有dll文件,然后逐个删除它们。