在Windows上Qt的dll部署

我在部署Qt应用程序时遇到了一个奇怪的问题。 我在我的Windows XP 32位盒子上创build了一个包含所有必需的dll和我的二进制文件的Zip,其中的应用程序工作得很好,

然后我testing了我的笔记本电脑上运行的Windows 7 64位,给我奇怪的结果。 窗口图标返回到默认的,我的系统托盘图标是不可见的。 其他一切正在工作。 当我从窗口上的相同资源文件中绘制一个标志(并且这在两台机器上都能正常工作)时,资源文件应该加载正常。

然后,我把我的win7机器上的dll(我用相同的安装程序安装)复制到我的二进制文件的目录中,图标再次运行。 我检查了dlls散列,它们是相同的。

我也试过这些DLL在我的XP机器上,这次它不显示图标。

这很奇怪,因为dll是从相同的软件包安装的并且是相同的,但是在其他机器上不工作。

有什么我忽略的吗?

我使用QT 4.7和msvs2008安装程序加上插件。

如果您将插件部署到应用程序目录,则必须使用目录imageformats和iconengines(不带插件/前缀)。 请参阅有关部署插件的文档

编辑:如果您使用QML,则还必须将“imports”目录(也没有导入/前缀)的内容复制到您的应用程序目录。