QT5打包成exe文件方法及This application failed to start because no Qt platform plugin could be initialized处理

一、右击左下角电脑标识,选择release,在工程同目录下找到对应新生成的Release文件夹,把里面的exe文件拷贝出来,然后放进一个新建的文件夹下(文件名非中文最好),我的release不能生成,所以自己新建了Release2

选择release模式

二、Win键+R 启动运行框,输入cmd,在界面中输入cd /d +新建的文件夹路径(上面存放拷贝后放置exe的文件夹)+回车键

输入windeployqt [空格] demo.exe(刚放置的exe文件全名)+回车键显示如下图:

运行后显示

 

三、利用Enigma Virtual Box打包exe

打包软件操作步骤

 

打包完成显示
对应路径下生成的exe文件

四、打包完成时,点击运行exe,运行该软件可能会报如下错误,把Qt安装目录下对应工程选择的编译版本的bin目录下的DLL文件替换一下该打包目录下的DLL文件,再试一下运行效果,我的有时会成功,有时会失败,经过多次尝试,打包时不能包含pugins文件夹,打包完成后再把QT安装目录下对应版本目录下的plugins文件夹复制过来,启动打包后exe可以成功。

五、分析原因:打包时platforms路径层级的问题,因为若我打包时直接把plugins文件打包进去,运行也会失败,提示no Qt platforms,所以只能打包成exe+plugin(内含platforms)的形式了,最终的只含exe文件就能运行的情形偶尔可以实现。

 

报错1
报错2

 

最后报错图

 

 

Guess you like

Origin blog.csdn.net/m0_49047167/article/details/108460452