在Qt 5.9.1通过qt.conf指定共享库路径部署应用程序

本文介绍了如何在Qt 5.9.1中通过qt.conf文件来指定共享库路径,从而解决应用程序部署时的大小、灵活性和更新问题。详细步骤包括使用windoployqt打包、创建环境变量、qt.conf文件的创建,并提供了FAQ及解决方案灵感来源。
摘要由CSDN通过智能技术生成

版本更新日志

Ver 17.0822

首次创建。

Ver 17.0824

1、增加FAQ:Debug模式下无法启动应用;
2、增加示例文件及相关文件的百度云盘链接路径。

1 背景介绍

无论是使用Qt静态链接,或者使用Enigma Virtual Box将exe及其依赖的库进行打包均存在如下问题:

  • 发布程序非常大;
  • 不具备灵活性(如果程序或Qt更新,需要重新部署过程);
  • 不能部署插件(dll);
  • 使用Enigma Virtual Box打包后程序启动速度较慢(本人测试启动时间约为静态链接方式的4倍)。

如果应用程序中具有多个exe,或者多个exe共同插件(Qt提供插件或自己写的插件),上述方式均不能任胜,即通过静态链接或打包的方式不适合开发大型的企业级应用。

如果使用Qt提供的部署工具windeployqt,则exe所依赖的Qt库位于相同的文件夹,给应用程序的版本管理带来极大的困难。

本文提供了一种方法,用以解决上述两个问题。将exe应用依赖的Qt库放于固定的文件夹,可将exe放于任意位置,实现应用启动。当开发模式成熟后,企业应用依赖的Qt库已基本上不会变动时,可将该依赖库打包成一个exe,在用户计算机上安装,如同在用户计算机上安装.NET Framework/.NET Core(安装.NET应用运行所需的托管运行库CLR Runtime)。

2 使用windoployqt打包exe依赖的库

启动“Qt 5.9.1 for Desktop (MinGW 5.3.0 32 bit)”,如下图所示。

这里写图片描述

按下面命令格式执行命令:

windeployqt --force --qmldir {path-to-qml} --dir {path-to-store-qt-libraries} {path-to-app-binary}

命令参数解释:

  • –force:强制更新目标路径exe所依
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值