为了测试部署过程,我尝试部署附带的演示应用程序 Minehunt。我能够让它运行,没有崩溃或错误,但屏幕是全白的。
我相信这通常意味着我缺少插件。 Dependency walker 报告没有问题,我什至尝试包含 Qt MingW 插件目录中的所有插件,但没有这样的运气。
这是我到目前为止所包含的内容;谁能建议我还需要添加什么才能让它运行?
你的 dll 看起来一点也不差。我也认为这是你的插件。即使它们在那里,您的程序也很有可能找不到它们。 Qt 默认情况下对查看位置有点挑剔。你可以尝试qt.conf
。这是一个小文本文件,您必须在可执行文件所在的文件夹中创建。它包含 Qt 插件的路径。
例如,在我的一个项目中,我有以下文件夹布局:
Appfolder
plugin
qt
plugins
imageformats
sqldrivers
myapp.exe
qt.conf
...many dlls...
然后我在Appfolder中添加了一个qt.conf文件,其中内容如下:
[Paths]
Plugins = plugins/qt/plugins
我的程序是 Qt 4,但我认为插件部署的这方面在 Qt5 中没有改变。
我所有的 qt dll 都在 qt 中。我添加以下路径:SET PATH=.\plugins;.\plugins\qt;%PATH%
。在我尝试过的任何 Windows 上都可以正常工作。
编辑:
然后我创建了一个 .bat 文件,它的作用是:
SET PATH=.\plugins;.\plugins\qt;%PATH%
cd Appfolder
start myapp
这是一个丑陋的快速修复,我还没有时间用更好的东西替换它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)