为了账号安全,请及时绑定邮箱和手机立即绑定

在Windows上部署Qt 5应用程序

在Windows上部署Qt 5应用程序

繁花不似锦 2019-07-30 16:48:46
在Windows上部署Qt 5应用程序我在QML中编写了几个应用程序(Qt 5的一部分)。在我之前提出的一个问题(https://softwareengineering.stackexchange.com/questions/213698/deploying-qt-based-app-on-mac-os-x)中,我找到了部署我的应用程序的解决方案OS X(使用macdeployqt工具)。在Windows上部署Qt4应用程序很简单:您在发布模式下编译它。您复制了必要的库(DLL)。你测试过并且有效。不幸的是,这种方法在Qt5中不起作用(我甚至包括带有qwindows.dll文件的平台文件夹,但它不起作用)。经过几天的尝试,我放弃并编译了Qt5的静态版本。再一次,它没有用。该应用程序可在安装了Qt的PC上运行,但它在“干净”的PC上崩溃。作为旁注,Windows 8 / 8.1系统不会发出警告或消息,通知我有关应用程序崩溃的信息。但在Windows 7中,一条消息通知我该应用程序崩溃了。我已经尝试运行Dependency Walker(depends.exe),我的应用程序的静态构建中的所有库似乎都很好。在Windows 8中,我没有收到任何错误。但在使用depends.exe分析应用程序后,我收到了源自QtGui.dll的访问冲突。确切的错误是在地址0x61C2C000的“QT5GUI.DLL”中发生第二次机会异常0xC0000005(访问冲突)。是否有我遗漏的东西(比如额外的DLL或配置文件)?应用信息:用Qt 5.2.1编写和编译使用Quick / QML。使用网络模块。使用webkit模块。使用蓝牙模块。QML文件是用Quick 2.2编写的
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

从Qt 5.2开始,windeployqt您可以使用工具。只需从命令行运行它即可获得帮助。但基本用法是,给它.exe文件,它将复制Qt依赖关系。

您将需要使用--qmldir选项让工具知道QML文件的位置,以便它可以找出所需的QML依赖项。

关于测试的注意事项:确保您拥有所有内容,在没有Qt SDK的计算机上进行测试,或者临时重命名 Qt目录。否则应用程序可能会从那里找到丢失的文件...


查看完整回答
反对 回复 2019-07-30
  • 2 回答
  • 0 关注
  • 931 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信