ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Qt程序在其他电脑上打不开?手把手教你发布和打包(附详细图文)

Qt程序在其他电脑上打不开?手把手教你发布和打包(附详细图文) Qt程序的发布当Qt程序写完之后通过IDE编译就能得到一个可执行程序。这个程序在自己电脑上跑一点问题都没有因为本地有Qt环境运行时能正常加载需要的动态库。但是如果想把程序发给其他小伙伴用很可能就跑不起来了原因有这么几种原因1这个小伙伴电脑上压根没有Qt环境原因2小伙伴有Qt环境但版本跟咱们用的不一样原因3版本一样但是没配环境变量不管是哪种情况都会导致程序拿过去打不开。下面就来给大家说说怎么解决。大部分打包工具需要自己一步步操作出来的界面也仍旧比较简陋。如果对安装包的UI有更高要求也可以了解一下 Installer Studio 这款工具它支持可视化模板无需编写脚本感兴趣的同学可以自行搜索其官网。1.1 生成Release版程序写Qt程序的时候不管用的是什么IDE都能切换编译模式。要是准备发布程序记得选Release版本Debug是调试用的。编译器会对Release版的可执行程序做优化生成的文件体积会更小。下面以QtCreator为例演示一下。模式选择完毕之后开始构建当前项目最后找到生成的带Release后缀的构建目录如下图所示进入到release目录中在里面就能找到我们要的可执行程序了1.2 发布生成的可执行程序在运行的时候需要加载相关的Qt库文件因此需要将这些动态库一并发布给使用者。Qt官方给我们提供了相关的发布工具通过这个工具就可以非常轻松地找出这些动态库文件了这个工具叫做windeployqt.exe该文件位于Qt安装目录的编译套件目录的bin目录中。以我本地为例C:\Qt\5.15.2\mingw81_64\binC:\Qt 是Qt的安装目录5.15.2 是Qt的版本mingw81_64 是编译套件目录bin 存储windeployqt.exe文件的目录如果已经将这个路径设置到环境变量中了那么在当前操作系统的任意目录下都可以访问windeployqt.exe。Qt环境变量设置此处可补充自己的配置截图或说明知道Qt提供的这个工具之后就可以继续向下进行了。首先将生成的Release版本的可执行程序放到一个新建的空目录中进入到这个目录按住键盘Shift键然后鼠标右键就可以弹出一个右键菜单打开Powershell窗口执行命令这样LordCard.exe需要的动态库会被全部拷贝到当前的目录中如下图使用这种方式Qt会将一些用不到的动态库也拷贝到当前的目录中。如果确定用不到可以手动将其删除如果不在意这些完全可以不用理会我一般选择后者。现在一个绿色免安装版的程序就得到了可以将这个目录打个压缩包发送给自己的小伙伴。但这种方式终究比较“原始”我们可以将这个目录中的文件制作成一个安装包这样档次一下就上去了。Qt程序打包将应用程序和相关的动态库打包成安装包的工具有很多比较常用的有 NIS Edit 和 Inno Setup。下面以 Inno Setup 的使用为例演示整个打包过程。第一步创建一个带向导的脚本文件第二步直接 Next不要创建空的脚本文件第三步填写相关的应用程序信息第四步指定应用程序的安装目录相关的信息第五步选择可执行程序和相关的动态库此处参考的是前边 1.2 章节中的目录基于这个目录选择相关的文件和目录由于可执行程序依赖的动态库有很多所以可以直接添加动态库的目录。选中对应的目录之后如果里边还有子目录会弹出如下对话框选择“是”即可需要包含这些子目录。第六步给可执行程序关联本地的某种格式的磁盘文件比如记事本程序会自动关联本地的 .txt 文件。对于我的可执行程序来说无需关联因此没有做任何设置直接下一步。第七步给应用程序创建快捷方式此处没有进行任何设置使用的默认选项。第八步指定许可文件文件中的内容会显示到安装向导的相关窗口中可以选择不指定直接跳过。第九步选择安装模式给系统的当前用户安装还是给所有用户安装根据自己喜好指定即可。第十步选择安装语言这个工具没有提供中文因此只能选择英文。第十一步指定安装包文件的相关信息。第十二步向导结束。第十三步提示是否要编译生成的脚本文件脚本编译完成之后安装包就生成了。之后弹出第二个对话框建议保存通过向导生成的这个脚本文件这样以后就可以直接基于这个脚本打包程序生成安装包了。编译完成之后就可以去保存脚本文件的目录找生成的安装文件了![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/05dff80c382246a5bbf0e83a7a97ab2e.png#pic_center安装双击生成的安装包文件输入安装密码如果有设置指定安装路径指定是否创建快捷方式开始安装应用程序安装完成可以指定直接启动安装的应用程序。
返回列表