• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

QT程序打包

Qt admin 4年前 (2016-06-01) 1709次浏览 0个评论 扫描二维码

qt_training_cube

0:Qt程序发布理论知识和相关工具

  • Qt程序在发布时只需要把需包含的dll动态链接库文件放在需要发布程序同一目录即可
  • 那么如何找到可运行程序,依赖哪些dll动态链接库文件呢?
  • 网上有人用depend.exe这个程序的开我们的可运行程序,就可以找到该程序依赖于哪些动态链接库了
  • 博主用depend.exe试了一下,效果并不好,实际上Qt5.6已经为我们准备好了一个非常好用的工具
  • 在安装了Qt之后,这个工具就在下面的目录
    在D:\Qt\Qt5.6.0\5.6\mingw49_32\bin 路径下面有一个windeployqt.exe 工具(大家在自己的Qt安装目录寻找)
    windeployqt.exe这个程序就可以帮我们找到需要发布的程序依赖哪些dll库文件,并且还会把这些依赖的
    库文件直接复制到当前应用程序存在的目录 
    

1:windeployqt.exe工具的使用

  • 1:把windeployqt.exe的存放路径,添加到windows的path环境变量(不会的朋友自己百度)
  • 2:打开windows的命令行cmd,然后cd到需要发布的程序的目录,假定需要发布的Qt程序名为myqtapp.exe
  • 3:运下如下命令后,依赖的库文件就会自动复制到当前目录
     windeployqt.exe myqtapp.exe
    
  • 4:这里可以尝试双击一下myqtapp.exe文件,如果还缺少其它的dll文件,程序会无法运行,并报错提示缺少什么!
  • 5:这里缺少什么dll文件,就在Qt的安装目录搜索对应的dll文件,找到后复制到当前程序目录即可
    通常还会需要一些非Qt的标准库,如libgcc_s_dw2-1.dll libwinpthread-1.dll, libstdc++-6.dll,
    

2:使用NSIS程序打包发布

  • 经过上面操作后,可运行程序依赖库的问题就解决了,接下来把可运行程序目录的所有文件打包成.zip的压缩包
  • 之后打开NSIS这个软件,选择从zip文件进行打包,最终将zip文件打包成一个单独的exe文件
  • 这时就可以把这个单独的exe文件发布出去了
    NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序
    

3:补充一点,给发布的应用程序添加[应用程序图标]的方法

添加应用程序图标的过程:
在Qt工程源码目录下操作

1:新建一个文件appicon.rc
在appicon.rc文件中 输入如下内容 
IDI_ICON1 ICON DISCARDABLE "taiji.ico"    #注意后面的ico文件换为自己所使用的

2:在.pro文件中加入如下内容 即可
RC_FILE=appicon.rc     

3:重新编译工程后,这里.exe的文件已经变成相应的ico图标了

4:python脚本程序发成可运行二进制程序的方法

  • 可运行二进制程序不依赖于python解释器,也能运行
#1:安装python开发环境 

#2:安装pyinstaller
pip.exe install pyinstaller

#3:使用pyinstaller发布为可运行二进制程序
pyinstaller -F xxx.py  -p modulePath           
#-p 选项后面接module存放的目录,如xxx.py中使用了BeautifulSoup4这个module,那么就通过-p指定BeautifulSoup4存放的目录
#执行完上面的命令后,就会在dist目录下面,生成一个可运行的二进制文件 

Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明QT程序打包
喜欢 (0)
[@lc@]
分享 (0)
admin
关于作者:
互联网行业码农一枚/业余铲屎官/数码影音爱好者/二次元

您必须 登录 才能发表评论!