2010-10-28 102 views
3

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

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

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

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

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

有什么我忽略了吗?

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

+0

你是否在应用程序中部署了imageformats插件? – 2010-10-28 21:45:35

+0

哦,不,我想我没有。我现在就试试这个。编辑:我只是试了一下,没有任何好处。我已经部署了插件/ imageformats和插件/图标引擎 – Mathias 2010-10-28 21:46:27

回答

12

如果您将插件部署到应用程序目录,则必须使用目录imageformats和iconengines(不带插件/前缀)。 查看文档关于Deploying Plugins

编辑:如果您使用QML,你还必须在“进口”目录的内容(也没有进口/前缀)复制到您的应用程序目录。

+0

谢谢,那恰恰是错误的。此外,感谢卡米尔Kilmek :) – Mathias 2010-10-29 08:14:08