在尝试将Qt / Qml应用程序部署到Windows 8后遇到很多问题,正如我在此问题中所述:Deploying Qt Qml app to Windows 8 shows me a blank window
我可以让它复制Qt5Widgets.dll ......但它只能在我自己的开发机器上工作(在那里安装,但我自己的机器)。 然后我尝试在另一台机器(运行Windows 7的VM)上安装它..起初我得到了错过平台插件的错误...好吧,我将qwindows.dll复制到appDir / platforms,它似乎解决了这个问题。 但后来我得到了另一个丢失的dll错误(与VS2010相关的错误),然后我安装了Visual Studio 2010可再发行组件...好了,现在应用程序启动了,但是有一个空白窗口:( qml文件和所有内容都在资源文件中,因此它应该在二进制文件中。 我不知道从那里去哪里找到这个问题。
知道我该怎么办?奇怪的是它在我自己的开发机器上安装得很好。 我的结论是在OS X中部署Qt要容易得多。
答案 0 :(得分:1)
我在使用空白窗口部署Qml应用程序时遇到了很多麻烦。
一般来说,这个网站提供了有用的提示: https://qt-project.org/doc/qt-5.1/qtdoc/deployment-windows.html
在我的案例中,空白窗口问题引起了两件不同的事情:
qml文件的相对路径不正确。我已经通过将qml文件存储在资源文件中然后从那里调用它来解决了这个问题。
如果应用程序位于网络驱动器上,这似乎是一个问题。除了将应用程序复制到本地文件夹之外,我还没有找到解决方案。
总的来说,我认为部署是一个很大的痛苦: - /
答案 1 :(得分:1)
我已经通过以下步骤解决了问题:
检查您的qml文件路径。例如,默认生成的代码如下:
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/test/main.qml"));
所以qmls应该在“qml / test”文件夹中
检查缺失的dll: