我在部署后启动应用程序时遇到问题
构建项目,复制了发布文件夹中的所有必要文件,将其移动到另一台机器上(如果很重要,我在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”
在构建机器上一切正常。现在再次复制其他机器上的所有内容并再试一次。完全没有变化!
知道怎么解决吗?
答案 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;帮助。
我为很晚的回应道歉。