频道栏目
首页 > 资讯 > 其他 > 正文

QML release版本,windeployqt.exe打包库文件之后,依然缺少库文件解决办法

18-07-18        来源:[db:作者]  
收藏   我要投稿

1. 使用windeployqt.exe打包库文件:

在开始菜单中Qt列表下找到对应版本的cmd,比如我用的是Qt5.9.3 MinGW,则对应的为Qt5.9.3 for Desktop (MinGW 5.3.0 32 bit)。

打开之后,cd转到release版本生成的exe文件目录下,比如我的放在了H:\Qt\Qt5.9.3\5.9.3\mingw53_32\pack文件夹下(pack为新建的文件夹),则cdH:\Qt\Qt5.9.3\5.9.3\mingw53_32\pack。

执行命令windeployqt UsbGpib.exe --qmldirH:\Qt\Qt5.9.3\5.9.3\mingw53_32\bin 。执行完可以在exe的目录自动生成依赖项。

2. 通过以上步骤,运行exe,依旧没有反应,将exe拷贝至qt的bin目录,可以运行,说明依赖项不全。

问题解决:

手动添加依赖项,查看依赖项的终极方法:qt creator debug,在main函数处加一个breakpoint,运行至breakpoint,“控件"-"视图(view)”-“modules”,既可以查看exe运行加载的所有dll。

将与qt有关的一一拷贝出来,主要为qt目录的“bin”、“plugins”、“qml”。

注意:拷贝时,应拷贝对应release版本的库文件,如qwindowsd.dll对应Debug版本,则实际应拷贝qwindows.dll。

注意:只拷贝这几个目录内的内容,目录本身去掉,如“plugins”-“platform”-qwindows.dll,只保留“platform”-qwindows.dll。

注意:“qml”目录存放的是qml插件,一系列.qmlc和.qml文件,调用到哪一个插件,就要将插件所在的整个文件夹拷贝出来,如调用了“qml\QtQuick\Controls.2”-qtquickcontrols2plugin.dll,则需要拷贝整个“QtQuick\Controls.2”文件夹。

相关TAG标签
上一篇:zeppelin(齐柏林)的配置和使用教程
下一篇:linux系统下安装虚拟机并进行联网操作
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站