Qt中程序发布及常见问题

1、引言

当我们写好一个程序时通常需要发布给用户使用,那么在Qt中程序又是如何实现发布的呢,这里我就来浅谈一下qt中如何发布程序,以及发布程序时的常见问题。

2、发布过程

2.1、切换为release模式

当我们写qt程序时默认是debug模式,该模式下的程序带有大量的调试信息,而这些对于用户来说是多余的,因此,我们需要将项目切换为release模式,切换release模式只需要点击下方图片中带有debug字样的图标,就会弹出对应的选项,在选项中选择release即可。

2.2、生成链接库

项目中使用的库都是属于动态库,只有开发者计算机中才能链接到,用户的电脑中可能没有相应的库,也没法链接,为此,我们必须把项目中使用到的库一起放在项目中,这样用户下载后才有对应的环境,

要生成静态库,需要以管理员模式打开Qt自带的命令行窗口,使用cd命令切换到对应的release目录下,再这之前需要在release模式下运行一次程序才会生成相应的目录。切换到该目录后使用如下命令进行静态库的生成,其中uiactivity要换成你的exe文件的名字,一般这种情况下就能生成静态库了。

java 复制代码
windeployqt uiactivity.exe

2.3、生成静态库失败解决

如果上面的方法无法完成发布,那么你需要配置下面的这个exe程序的path变量,具体看你的安装版本和安装位置,配置好后再次执行以上命令,最后重新打开命令行窗口再执行。

java 复制代码
C:\Qt\Qt5.12.1\5.12.1\mingw73_64\bin\windeployqt.exe

以上方法依旧无法生成静态库,请使用全路径模式,这样就没问题了,命令如下所示:

java 复制代码
C:\Qt\Qt5.12.1\5.12.1\mingw73_64\bin\windeployqt.exe D:\data\qt\build-uiactivity-Desktop_Qt_5_12_1_MinGW_64_bit-Release\release\uiactivity.exe

3、生成效果

相关推荐
SunkingYang22 分钟前
QT编译报错:使用Lambda表达式作为槽函数,报错‘xxx‘ in capture list does not name a variable
qt·list·报错·lambda表达式·槽函数·in capture list·does not name
你怎么知道我是队长43 分钟前
C语言---头文件
c语言·开发语言
期待のcode1 小时前
Java虚拟机的运行模式
java·开发语言·jvm
hqwest1 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲1 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy1 小时前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
徐先生 @_@|||2 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
SunkingYang2 小时前
QT中如何遍历QStringList
qt·解析·遍历·方式·读取·qstringlist
tang777893 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20253 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai