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、生成效果

相关推荐
qq_120840937125 分钟前
Three.js 工程向:GLTFLoader 管线、Draco/KTX2 与资源管理
开发语言·javascript·ecmascript
下地种菜小叶33 分钟前
定时任务系统怎么设计?一次讲清任务注册、分布式调度、幂等执行与失败补偿
java·开发语言·数据库·oracle·rabbitmq
csbysj20201 小时前
业务代表模式
开发语言
sghuter1 小时前
AI重塑工程师:未来核心能力全景图
开发语言·perl·composer·symfony
浪客川1 小时前
【百例RUST - 013】泛型
开发语言·后端·rust
iiiiyu1 小时前
常用API(SimpleDateFormat类 & Calendar类 & JDK8日期 时间 日期时间 & JDK8日期(时区) )
java·大数据·开发语言·数据结构·编程语言
故事和你912 小时前
洛谷-数据结构1-4-图的基本应用2
开发语言·数据结构·算法·深度优先·动态规划·图论
qq_12084093712 小时前
Three.js 工程向:Clock、deltaTime 与固定步长主循环
开发语言·javascript·ecmascript
小菜同学爱学习2 小时前
夯实基础!MySQL数据类型进阶、约束详解与报错排查
开发语言·数据库·sql·mysql
源码站~2 小时前
基于机器学习的社交媒体舆情分析系统
开发语言·python