为什么来自Qt5.0.2的qwindows.dll导致我的应用程序崩溃

时间:2013-07-17 17:31:39

标签: windows visual-studio-2010 qt qt5

我们正在部署使用VS2010构建的Qt5.0.2应用程序,该应用程序包含bin目录中的platforms/qwindows.dll文件。我们刚刚从Qt5.0.1升级到Qt5.0.2并发现在非开发机器上我们的应用程序在加载后立即崩溃。我们将问题缩小到qwindows.dll文件。当我们使用Qt5.0.2(文件大小803kb)的qwindows.dll版本时,应用程序崩溃。当我们将所有其他包含的dll保持不变但只替换qwindows.dll与5.0.1版本(799kb)时,一切正常。这是一个已知的错误?我们还需要为dll的5.0.2版本包含其他内容吗?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题......

我们有一个批处理脚本,它自动将相关的预建qt dll从最新下载的qt包的vs2010目录的子目录复制到我们的应用程序的安装目录中。似乎在Qt5.0.1中,Qt dll出现在lib的{​​{1}}和bin子目录中,而在Qt5.0.2中,Qt dll仅出现在{{1}中子目录。由于我们自动从msvc2010子目录复制dll,当我们迁移到5.0.2时,没有复制任何内容,旧的5.0.1 dll仍保留在我们的应用程序的安装目录中。但是,bin文件仍位于lib中,因此确实已更新且与旧的5.0.1 dll不兼容。

我认为我们没有对下载的Qt安装做任何有趣的事情,但我肯定会感谢其他已下载5.0.1和5.0.2的用户可以独立验证5.0.1中有dll的{ {1}}和5.0.2没有。