在Windows上部署Qt DLL

3
我在部署Qt应用程序时遇到了奇怪的问题。我在我的Windows XP 32位电脑上创建了一个Zip文件,其中包含所有必要的dll文件和我的二进制文件,应用程序可以正常运行。

然后我在运行Windows 7 64位的笔记本电脑上测试了一下,结果出现了奇怪的问题。窗口图标变成了默认图标,系统托盘图标也不可见。其他所有功能都正常工作。

由于我从同一资源文件中绘制了一个徽标(在两台机器上都可以工作),因此资源文件应该加载正常。

然后我将我Win7机器上安装的dll文件(使用相同的安装程序)复制到我的二进制文件目录中,图标就可以正常显示了。我检查了dll文件的哈希值,它们是相同的。

我还尝试在我的XP机器上使用这些dll文件,但这次它并没有显示图标。

这非常奇怪,因为dll文件是从相同的软件包中安装的,并且是相同的,但在另一台机器上无法正常工作。

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


你是否已经将 imageformats 插件与你的应用程序一起部署? - Kamil Klimek
哦,不好意思,我想我没有。我现在会尝试一下。编辑:我刚刚尝试了一下,但是没有什么效果。我已经部署了插件/图像格式和插件/图标引擎。 - Mathias
1个回答

12
如果您将插件部署到应用程序目录,则必须使用directories imageformats和iconengines(没有plugin/前缀)。 有关部署插件的文档,请参见。
编辑:如果您使用QML,则还必须将“imports”目录的内容(同样不带imports/前缀)复制到应用程序目录中。

谢谢,那正是问题所在。同时也感谢Kamil Kilmek :) - Mathias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接