0

部署后启动应用程序时出现问题。
构建项目,复制发布文件夹中的所有必要文件,将其移动到另一台机器上(如果很重要,我在 Windows 8 64 位上使用 MinGW 4.8 32 位构建它并尝试在 Windows XP 32 位上运行它)。但是,当我尝试运行它时,它只显示一个白色的小方块。

我尝试使用 Qt 资源系统。创建了一个 .qrc 文件,这里是:

<RCC>
<qresource prefix="/">
    <file>qml/Rename_Files/Button.qml</file>
    <file>qml/Rename_Files/main.qml</file>
    <file>images/file_browser_icon_32x32.png</file>
    <file>images/file_renamer_icon_32x32.png</file>
</qresource>

并相应地使用资源:
viewer.setSource(QUrl("qrc:/qml//Rename_Files/main.qml"));
"qrc:/images/file_browser_icon_32x32.png" & "qrc:/images/file_renamer_icon_32x32.png"
在构建机器上一切正常。现在再次复制另一台机器上的所有内容并重试。一点变化都没有!

知道如何解决吗?

4

2 回答 2

1

无法在运行时在部署机器中加载图像通常是运行时插件错误。如果找不到合适的 imageformat dll,它将不会加载图像。

在您的 exe 旁边创建一个名为“imageformats”的文件夹,并将适当的 dll 放入其中以使用您在程序中使用的所有图像格式。

在你的开发机器上找到 dll

<Qt Install Dir>\<Compiler>\plugins\imageformats

http://qt-project.org/doc/qt-5.0/qtcore/qcoreapplication.html#libraryPaths

http://qt-project.org/doc/qt-4.8/deployment-windows.html#qt-plugins

所以你可能需要qico.dll.

如果以上方法不能解决您的问题,您可能需要在您的开发机器上运行“depends.exe”,看看是否还有您需要的其他 dll。你也可以在你的开发机器上做一些额外的调试来做运行时检查,以确保它可以找到图像:

Qt Label::setPixmap 不工作

希望有帮助。

于 2013-09-11T17:21:47.213 回答
0

我解决了我的问题。该线程http://www.qtcentre.org/threads/56250-Empty-window-when-running-application-on-Windows-XP-32-bits?highlight=empty+window包含我通过研究和 Chris 发现的内容' 帮助。
对于迟到的回复,我深表歉意。

于 2014-04-05T17:47:13.327 回答