【前言】

  业务需求将qt程序打包成win可执行文件。咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗。

【目标】

  1.给qt程序添加一个图标。

  2.qt程序打包。

  3.将打包后的qt程序做成单个文件。

【正文】

  1.给qt程序添加一个图标:

    首先确定程序可以正常编译,运行。

    然后在项目代码目录下放一个xxx.ico文件,图片不要太大32*32刚好。

    再然后打开项目的.pro文件,在里面加入RC_ICONS = xxx.ico。

    最后编译程序运行无误,即可在代码同级目录的生成目录下找到带图标的可执行文件。

  2.qt程序打包:

    2.1.将要打包的程序现在qt下用Release模式下编译和运行一次。//修改成release模式即点击qt左下角执行键上面的小电视里面选择(小电视默认选择debug)。

    2.2.找到程序的exe(在代码同级目录的build-xxx-Desktop-Release里面),单独复制到一个文件夹比如D盘新建一个xxx文件夹。

    2.3.新建一个bat文件,记事本打开输入内容cmd /k "cd /d [windeployqt.exe的路径] && windeployqt.exe [要打包的exe文件的路径](这个exe文件的路径是自己新键的文件的路径)。

    例如: cmd /k "cd /d C:\Qt\Qt5.5.1\bin\ && windeployqt.exe D:\xxx\xxx.exe,然后双击xxx.bat文件变回打开终端进行拷贝文件。

    2.4.这时进入D:\xxx文件夹,点击xxx.exe如果程序正常运行则说明打包完成,将xxx文件夹放到任意一台win上都可以运行。如果弹出警告xxx.dll就去qt程序目录下去找并拷贝回来。直至运行程序。

  3.将qt程序打包成单个文件:

    3.1.打包单个文件需要用到一个打包工具Enigma Virtual Box。//自己在百度上随便下一个就行。

    3.2.打开下载的工具包点击可执行程序进行操作。

    3.3.点击浏览按钮,选中你的xxx.exe文件,会在你的exe相同路径下出现xxxCale.exe文件。这就是你最后的包,你也可以通过后面的浏览修改他的位置。

    3.4.点击左下角的增加按钮,选择第二个添加目录树,路径为相对路径,将你的xxx文件夹选中。//这会列出你的程序需要的资源的清单。

    3.5.点击右下角的文件选项按钮,选择启动文件虚拟化和压缩文件。//这个会让你打包后的文件非常小,1/2以内。

    3.6.最后点击最右下角的执行封包按钮。

    3.7.封包结束,在你指定的文件夹或xxx.exe下会出现一个xxxCalc.exe文件。把文件拷贝到桌面执行看程序是否有误,无误则可发给其他人使用。

【后记】

  winqt程序打包也就如此简单,也许是没涉及到可安装吧。因为需求原因,可安装程序需要设置版本号什么的很麻烦就没弄。但这样也足够了。个人亲测可以使用。

在执行教程过程中有任何问题,欢迎留言或评论哦。

  

  

【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】的更多相关文章

  1. Qt5:Qt程序不在任务拦显示图标

    setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint); 回头再写

  2. QT程序打包发布

    本来感觉这是一个简单的操作,今天看见群里有人在问这个问题,他说网上查了很多都不成功,突然就想把自己初学的时候记录一下! 题目谢了QT程序的打包发布,那就是两步骤:打包+发布! 注释:这篇博文用的是Qt ...

  3. Qt 程序打包发布总结

    1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...

  4. Qt程序打包,自动拷贝依赖文件

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt程序打包,自动拷贝依赖文件     本文地址:http://techieliang.com ...

  5. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布

    Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...

  6. Qt程序打包发布方法(使用官方提供的windeployqt工具)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...

  7. Linux 打包QT程序到未安装QT的其他Linux主机下运行

    昨天终于改好了一个开源但是用起来有问题的串口调试助手,想把它打包一下以后在其他电脑上也可以用. 找了网上的一个教程打包后,在本机上可以正常使用,但是移植到另一台上就出现缺少xcb的提示. 上网搜资料倒 ...

  8. Windows如何打包Qt程序

    很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...

  9. Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)

    很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...

随机推荐

  1. c# bool类型和int类型的互转

    项目过程中,会有model的一些属性字段为‘是’或‘否’ 数据库字段一半定义为int,值则是0或1 数据库model转实体类的时候,bool和int可以直接相互转换 false强转int 值就是0 t ...

  2. Altium Designer设计PCB--如何设置铺铜与导线或过孔的间距

    笑话: 到银行汇款,车临时停路边上. 为了怕交警罚就把朋友留下看车,跟他说有查车的过来了告诉我一声. 进去几分钟果然有交警来了. 那个朋友风风火火地闯进银行大声吼道:“大哥,警察来了,快走啊!” 偌大 ...

  3. Web前端——JavaScript扩展补充

    JS补充 document也是windows的一个子对象 a标签点击事件 要想设置点击a标签,执行某种方法,推荐在a标签的herf属性使用JavaScript伪协议,实现点击之后执行的js方法,而不是 ...

  4. CDQZ集训DAY3 日记

    早上起来之后依然开始考试.然而由于校方觉得都挨在一起没有考试氛围,分了两个机房,一开始还没人去,听说另一个机房配置好了之后一堆人开始往外冲,由于我天真的数了一下我是不是要走的,晚了一步,于是乎被教练员 ...

  5. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  6. android_layout_linearlayout(一)

    这几天一直在研究线性布局这块,记录下一些研究心得,作为参考之用. 一.金刚钻:(线性布局,英文名 linearLayout) 布局xml文件中统大者是一个线性布局,它的长宽都已经fill_parent ...

  7. opatch卸载weblogic12.1.3.0补丁

    1.首先进入opatch目录 2.查看opatch命令(心急于卸载的朋友直接跳过这步) [weblogic@localhost OPatch]$ ./opatch -help Oracle 中间补丁程 ...

  8. python 之 并发编程(守护进程、互斥锁、IPC通信机制)

    9.5 守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就立即终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic process ...

  9. SpringBoot集成beetl模板快速入门

    SpringBoot集成beetl模板快速入门 首次探索 beetl官方网址:http://ibeetl.com/ 创建SpringBoot工程(idea) 新建工程 选择创建Spring工程 书写包 ...

  10. python3.x 与 python2.x 差别记录

    从2.x过渡到3.x的时候,遇到了大大小小的坑,于是便记录下来- 1.print:  3.x 所有print都要加 "( )",print更像(就是)一个函数了. 2.x 可以加& ...