Qt 制作安装包

记录使用Qt工具制作一个安装包的过程

目录

1.准备工作

1.1检查Qt Installer Frameworks是否安装

1.2.安装Qt Installer Frameworks

1.3准备release出来的exe dll等文件

2.创建打包工程所需要的文件及目录

2.1创建子目录

2.2 创建工程文件

2.3 创建config/config.xml

2.4 创建packages/qWidget/meta/config.xml

2.5 创建packages/qWidget/meta/installscript.qs

2.6 创建packages/qWidget/meta/license.txt

3.拷贝需要打包的文件

4.使用Qt Creator编译生成安装程序

5. 安装、卸载、运行测试


1.准备工作

1.1检查Qt Installer Frameworks是否安装

Qt的安装路径下查找,比如D:\Qt\Tools\QtInstallerFramework 

不存在该目录就需要安装

1.2.安装Qt Installer Frameworks

找到D:\Qt\MaintenanceTool.exe,运行,选择QtInstallerFramework 安装

1.3准备release出来的exe dll等文件

如何生成release文件已经在这里

Qt 使用发布工具 windeployqt 来releaseicon-default.png?t=N7T8https://blog.youkuaiyun.com/castlooo/article/details/140473263

2.创建打包工程所需要的文件及目录

创建打包工程目录比如,用来构建打包工程所需要的目录结构

2.1创建子目录

InstallerExample/config  

InstallerExample/packages

InstallerExample/packages/qWidget

InstallerExample/packages/qWidget/data

InstallerExample/packages/qWidget/meta

### 如何在 Linux 上为 Qt 项目创建安装包 在 Linux 系统下为 Qt 项目创建安装包,通常需要考虑目标系统的兼容性、依赖项的管理以及最终用户的安装体验。以下是关于如何实现这一目标的具体方法和步骤。 #### 1. 使用 Qt Installer Framework Qt 官方提供了一个名为 **Qt Installer Framework** 的工具,用于创建跨平台的安装程序。该框架支持自定义界面、组件选择以及依赖项的打包。通过这个工具,可以将 Qt 项目的二进制文件、资源文件和其他依赖项整合到一个易于分发的安装包中[^1]。 ```bash # 安装 Qt Installer Framework wget https://download.qt.io/official_releases/qt-installer-framework/3.2/qt-unified-linux-x64-3.2-online.run chmod +x qt-unified-linux-x64-3.2-online.run ./qt-unified-linux-x64-3.2-online.run ``` 配置安装包时,可以通过编写 `config.xml` 和 `package.xml` 文件来定义安装内容和流程。以下是一个简单的示例: ```xml <!-- config.xml --> <Installer> <Name>MyQtApp</Name> <Version>1.0.0</Version> <Title>My Qt Application Installer</Title> <Publisher>My Company</Publisher> <StartMenuDir>My Qt App</StartMenuDir> <TargetDir>@HomeDir@/MyQtApp</TargetDir> </Installer> ``` #### 2. 使用 Shell 脚本自动化部署 如果不想使用复杂的安装程序生成工具,也可以通过编写 Shell 脚本来简化部署过程。这种方式适合于内部使用或对用户体验要求不高的场景[^2]。 以下是一个简单的 Shell 脚本示例,用于自动下载 Qt SDK、编译项目并生成可执行文件: ```bash #!/bin/bash QT_SDK_URL="https://example.com/qt-sdk.tar.gz" PROJECT_DIR="my_qt_project" # 下载并解压 Qt SDK if [ ! -d "qt-sdk" ]; then wget $QT_SDK_URL -O qt-sdk.tar.gz tar -xzvf qt-sdk.tar.gz fi # 编译项目 cd $PROJECT_DIR qmake make # 检查编译结果 if [ -f "./my_app" ]; then echo "Application compiled successfully!" else echo "Compilation failed." exit 1 fi # 创建运行脚本 echo "#!/bin/bash" > run.sh echo "./my_app \$@" >> run.sh chmod +x run.sh ``` #### 3. 配置静态链接以减少依赖 为了避免目标系统缺少 Qt 库的问题,可以将项目配置为静态链接。这需要重新编译 Qt 源代码,并确保所有依赖项都被嵌入到最终的可执行文件中[^3]。 以下是一个示例 `configure` 命令,用于生成静态版本的 Qt: ```bash ./configure \ -static \ -prefix /opt/qt-static \ -release \ -no-openssl \ -no-dbus \ -nomake examples \ -nomake tests make make install ``` #### 4. 使用 CMake 或 qmake 打包依赖 无论是使用静态链接还是动态链接,都需要确保目标系统能够正确加载所需的库文件。CMake 和 qmake 提供了强大的工具来管理这些依赖项。 例如,使用 `linuxdeployqt` 工具可以自动检测并打包应用程序所需的共享库: ```bash # 安装 linuxdeployqt wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage chmod +x linuxdeployqt-continuous-x86_64.AppImage # 打包应用 ./linuxdeployqt-continuous-x86_64.AppImage my_app -bundle-non-qt-libs ``` #### 5. 测试与分发 完成上述步骤后,应测试生成的安装包是否能在目标系统上正常运行。确保所有依赖项都已正确包含,并验证用户安装体验是否流畅。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

castlooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值