欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt程序打包发布流程

程序员文章站 2022-05-28 10:20:20
...

我们使用Qt Creator编写的exe程序,只能在本机运行,跑到别的电脑上就无法运行了,提示缺少各种各样的库,程序无法提供给用户使用;今天我们来一起了解一下Qt程序的打包发布流程和使用Inno Setup工具打包程序:
一、设置程序图标
应用程序的图标分两种:

a、  主窗口图标,主要在程序运行时显示在主窗口左上角,或在任务栏上显示。

b、 运行程序图标,一般在桌面或文件夹中显示的缩略图标,可以点击后运行程序。

1、 设置主窗口图标
首先在绘图工具(例如Photoshop)中设计好图标,图标的分辨率最好大于3232。图标需要用ico或*png的文件。如果想偷懒一点,直接去这里(http://www.iconfinder.com/)下载,大量好看免费的图标。
将刚才的生成的图标文件放到yourProjectFolder/Resources/images目录下,或者任意一个程序可以找到的位置。最好将图标文件添加到qrc中统一管理,qrc文件的格式如下:

<RCC>
    <qresourceprefix="/background">
        <filealias="mainlogo">christmas_stocking.png</file>
    </qresource>
</RCC>

然后再主窗口中使用,代码如下,代码很简单,不过记住这句代码一定要放到Mainwindow的构造函数里去,不然不会work。

   setWindowIcon(QIcon(QStringLiteral(":/background/mainlogo")));

程序运行后的效果如下:
Qt程序打包发布流程
2. 设置运行程序的图标
设置运行程序的图标在各个平台是各不相同的,下面分别介绍。首先准备分辨率最好大于3232的图标文件。图标需要用ico的文件。
使用qmake生成makefile文件或使用QT Creator IDE,那么按下面三步实施:
第一步:创建一个包含图标图像的ICO文件,并将其保存在资源文件目录下,例如命名为:logo.ico;

第二步:创建一个.rc文件,QT Creator中Ctrl+N或 File - New File or Project,选择General中的Text File,名称填写为.rc文件(如applogo.rc),在里面只用写一行:

IDI_ICON1               ICON    DISCARDABLE     "logo.ico"  

第三步:在工程文件8_4STMP.pro文件中写入如下内容:

	RC_FILE = \
		applogo.rc

再次编译程序,即可达到效果,效果图如下:
Qt程序打包发布流程
二、 编译release版本
注意将运行程序编译方式设置成Release,因为debug版本的程序中包含了调试信息,可以用来调试。而真正要发布程序时,要使用release版本,这样可以减少发布程序的体积同时增加软件的安全。
Qt程序打包发布流程
三、 发布程序
1、依赖库
Windows开发环境下windeployqt工具 (如果你已经将Qt的bin目录加入PATH环境,可以直接在命令行使用windeployqt调用.)。首先,将项目中的release文件中的可执行文件拷到一个新建的文件夹中,例如8_4STMP.exe,用Qt自带的生成必备的dll文件的程序windeployqt,来把必要的动态库拷到该文件夹中,打开命令行,输入windeployqt 8_4STMP.exe,这时候大部分的dll文件都自动拷贝过来了,但是如果项目还用了一些其他的SDK,比如OpenCV,Chartdir51等等,就需要手动将所需dll拷贝过来,如果不知道还需要哪些软件,可以用Dependency Walker来查看缺少哪些dll文件。
Qt程序打包发布流程
注意:如果发布的应用是Qt Quick Application应用,那么命令行需要加上QML的安装目录(windeployqt 8_4STMP.exe –qmldir)。命令中8_4STMP.exe是我的程序名称,qmldir是qml目录,这个目录一般位于mingwXX目录下,像我的目录就在D:\Qt\5.9\mingw53_32\qml
2、打包发布
Qt程序打包发布流程
Qt程序打包发布流程
Qt程序打包发布流程
Qt程序打包发布流程
Qt程序打包发布流程
Qt程序打包发布流程
Qt程序打包发布流程
上面我们把打包的脚本配置好了,我们需要打包是直接点击RUN就可以进行打包了:
Qt程序打包发布流程
今天讲解到现在结束了,想进行视频学习的小伙伴,可以进入我的****进行学习,课程地址:https://edu.csdn.net/course/detail/7275,课程资源下载地址:https://download.csdn.net/download/xuan_xuan_2/10641579,欢迎大家前来学习交流。
Qt程序打包发布流程