我在部署 Qt 应用程序时遇到了一个奇怪的问题。我在我的 Windows XP 32 位机器上创建了一个包含所有必要 dll 和我的二进制文件的 Zip,应用程序在其中工作得很好,
然后我在运行 windows 7 64 位的笔记本电脑上对此进行了测试,得到了奇怪的结果。窗口图标恢复为默认图标,我的系统托盘图标不可见。其他一切都在工作。 当我在窗口上绘制来自同一资源文件的 Logo 时(这在两台机器上都有效),资源文件应该可以正常加载。
然后我将 dll(我使用相同的安装程序安装)从我的 win7 机器复制到我的二进制目录,图标再次工作。我检查了 dll 哈希,它们是相同的。
我也在我的 XP 机器上尝试了这些 dll,这次它没有显示图标。
这很奇怪,因为 dll 是从同一个包安装的并且是相同的,但在另一台机器上不工作。
有什么我忽略的吗?
我正在使用 QT 4.7 和 msvs2008 安装程序以及插件。
最佳答案
如果将插件部署到应用程序目录,则必须使用目录 imageformats 和 iconengines(不带 plugin/前缀)。 请参阅有关 Deploying Plugins 的文档
编辑:如果您使用 QML,您还必须将“imports”目录(也没有 imports/前缀)的内容复制到您的应用程序目录。
关于windows - Windows上的Qt dll部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047366/