QT程序输出exe文件步骤及遇到的问题(带python脚本)

前言:QT程序打包输出exe还是比较简单的,三部曲

    1、在release下进行EXE的输出,不能是debug模式下

    2、输出后将 . exe文件单独拿出,建立一个文件夹,用 windeployqt 指令将文件所以依赖的动态链接库等文件拷贝进该文件夹          (有时候不一定都有,如果报错需后续手动添加)

    3、使用Enigma Virtual Box, 软件下载地址,进行最终文件的压缩处理,将上述文件夹的所有文件封装至一个exe文件中

1、release模式下进行exe的输出

      平时我们的调试都是在debug模式下进行的调试,但是当发布的时候需要在release模式下进行输出,然后我们将exe文件拷贝出来,单独放在一个空文夹中,接下来进行第二步。

2、windeployqt 指令拷贝依赖

      这一步主要是将我们exe文件依赖的外部库都导过来,在 Windows 的 “所有程序” 中找到QT文件夹,下面有一个控制台格式的编译器:

打开编译器,转到你所在的文件夹(Windows上和Linux的 cd 命令稍微有些不一样,不可以直接cd 过去),例如:

cd /d xxxxxxxx(exe所在的 文件夹 路径),然后直接使用命令windeployqt xxxx.exe 就OK

结果成功

现在你的文件夹应该是这样的:里面除了原来的一个exe文件还有很多文件夹和动态链接库

3、最后使用 Enigma Virtual Box将该文件夹里面所有的东西打包成一个exe文件

      选择输入输出文件,以及将该文件夹和使用到的动态链接库直接拖进下面的框里面,注意上面的QT5charts QT5core这几个动态链接库一定要单独放进去,不能处于某文件夹下面,会找不到的。 files options 选择 zip 压缩便可,然后直接 process 生成最后的exe文件。

     结果:红线的就是我们最后是打包生成的新的exe文件

 

需要注意的几点:

1、将你所需要的文件,比如你在里面调用的 python脚本,或者图片也一起打包过来,(如有python脚本的话,如果打包的程序想在其他电脑上使用,那么那一台电脑必须有Python编译环境,否则脚本无法正常运行,因为脚本只是给QT提供了一个借口,编译工程时只能找到脚本调用接口,而无法处理脚本,脚本时单独存在的,就像上述的test_wyk2.py文件,只是被调用了,编译的时候无法处理这个单独的文件)

2、有可能会出现 This application failed to start because it could not find or load the Qt platform plugin “windows”. 
Reinstalling the application may fix this problem 的 error,以为有的dll动态链接库没有放完全,这时候直接将QT下的platformswen文件直接也拖进去,就可以解决,或者直接将plugins文件夹拖到上面的框中也可以。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值