Qt快速部署,空窗口运行

时间:2013-09-11 14:20:59

标签: windows qt deployment

我在部署后启动应用程序时遇到问题 构建项目,复制了发布文件夹中的所有必要文件,将其移动到另一台机器上(如果很重要,我在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”&amp; “QRC:/images/file_renamer_icon_32x32.png”
在构建机器上一切正常。现在再次复制其他机器上的所有内容并再试一次。完全没有变化!

知道怎么解决吗?

2 个答案:

答案 0 :(得分: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 not working

希望有所帮助。

答案 1 :(得分:0)

我解决了我的问题。这个帖子http://www.qtcentre.org/threads/56250-Empty-window-when-running-application-on-Windows-XP-32-bits?highlight=empty+window包含了我通过我的研究和Chris&#39;帮助。
我为很晚的回应道歉。