qml坑之发布exe

来源:互联网 发布:照片批量重命名软件 编辑:程序博客网 时间:2024/05/21 17:38

release版本exe,编译,运行,没有反应,任务管理器没有进程

尝试windeployqt.exe,可以在exe的目录自动生成依赖项,运行,依旧没有反应

尝试将exe拷贝至qt的bin目录,可以运行,说明依赖项不全,windeployqt.exe也不能检测出来,更何况人为去找

只能在本机上运行,在其他机器上运行没有反应

该问题暂时无解,qml无法发布,慎用


问题解决,手动添加依赖项,查看依赖项的终极方法:qt creator debug,在main函数处加一个breakpoint,运行至breakpoint,“view”-“modules”,既可以查看exe运行加载的所有dll,将与qt有关的一一拷贝出来,主要为qt目录的“bin”、“plugins”、“qml”,注意之拷贝这几个目录内的内容,目录本身去掉,如“plugins”-“platform”-qwindows.dll,只保留“platform”-qwindows.dll;注意,“qml”目录存放的是qml插件,一系列.qmlc和.qml文件,调用到哪一个插件,就要将插件所在的整个文件夹拷贝出来,如调用了“qml\QtQuick\Controls.2”-qtquickcontrols2plugin.dll,则需要拷贝整个“QtQuick\Controls.2”文件夹

测试从windows7编译的exe放到win10运行,发现两个问题:(1)客户端机器加载速度慢,exe运行后要等较长时间才弹出,开发端没有该问题;(2)图标没有布局