QT打包(windows linux)封包 完整图文版

目录

简介:

[一. for windows](#一. for windows)

1.首先下载组件

2.开始构建Release版本.

3.然后点击构建

4.在文件夹内直接点击exe文件,会报下面的错误,因为缺少dll连接;

5.需要把这个exe单独复制到一个文件夹内,

[6.先cd到单独exe所在的文件夹; cd 文件路径](#6.先cd到单独exe所在的文件夹; cd 文件路径)

[7.然后运行 windeployqt 文件名称](#7.然后运行 windeployqt 文件名称)

[8.然后点击One.exe 就可以正常使用了;](#8.然后点击One.exe 就可以正常使用了;)

[二. Enigma Virtual Box 软件封包](#二. Enigma Virtual Box 软件封包)

1.下载

2.安装

3.运行程序,

4.选择路径

5.执行封包

6.点击运行

[三. Linux下打包QT](#三. Linux下打包QT)

[1.下载 Linuxdeployqt](#1.下载 Linuxdeployqt)

2.安装

3.构建Release版本

[4.创建 .desktop 后缀的文件](#4.创建 .desktop 后缀的文件)

[四 .总结](#四 .总结)


简介:

QT 打包是将基于 QT 开发的应用程序及其相关依赖进行整合和封装,以便能够在其他环境中方便地部署和运行。

在进行 QT 打包时,通常需要考虑以下几个方面:

  1. 收集依赖:包括 QT 自身的库文件以及项目中可能用到的其他第三方库。
  2. 配置环境变量:确保在目标系统中能够正确找到所需的库。
  3. 选择合适的打包工具或方法:如使用一些专门的安装程序制作工具或特定的打包脚本。
  4. 处理资源文件:如图标、配置文件等,确保它们能正确被包含和使用。

通过有效的打包,可以使 QT 应用程序更易于分发和使用,减少在不同系统上部署时可能遇到的问题。例如,将应用程序打包成一个可执行文件和相关库的集合,用户可以直接在其他计算机上运行而无需繁琐地安装各种依赖。

一. for windows

1.首先下载组件

查找不到这个组件的,从新进入 QT Maintenance Tool

选择下面组件

当然也可以选择下面的 MSVC 2019;

2.开始构建Release版本.

在下面截图那里选择;

3.然后点击构建

查看应用程序输出

没有报错就可以在程序所在的文件夹找到exe.

4.在文件夹内直接点击exe文件,会报下面的错误,因为缺少dll连接;

5.需要把这个exe单独复制到一个文件夹内,

使用刚才安装的组件,添加所需的dll依赖.

6.先cd到单独exe所在的文件夹; cd 文件路径

cd E:\QTCode\OneExe\One.exe

7.然后运行 windeployqt 文件名称

windeployqt One.exe

这时候文件夹内会生成dll依赖,这时候单独放在一个文件夹的好处就出来了;

8.然后点击One.exe 就可以正常使用了;

二. Enigma Virtual Box 软件封包

网址:The Enigma Protector - 专业的软件授权保护系统

1.下载

2.安装

下载完成之后,直接下一步 下一步就行.

3.运行程序,

可以选择中文.

4.选择路径

exe路径,为release下的exe文件.也可以用windeploy命令构建出来的exe

输出路径就随便选了.

主要是下面这步.选择dll;

选择windeploy命令构建出来的文件夹(内含有所需dll)

5.执行封包

6.点击运行

三. Linux下打包QT

首先下载自动拷贝工具(和上面windows下的windeployqt相似)

1.下载 Linuxdeployqt

Releases · probonopd/linuxdeployqt (github.com)

2.安装

打开 Terminal

  1. sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
  2. sudo mv ./linuxdeployqt /usr/local/bin
  3. cd /usr/local/bin
  4. chmod 777 linuxdeployqt
  5. sudo linuxdeployqt --version
    ps:如果出现 error loading libfuse.so.2 是缺少这个FUSE关键库

只需要运行

  1. sudo apt install libfuse2

3.构建Release版本

和window下类似,修改为Release,然后点击构建;

然后生成的复制到零一个空文件夹下;

4.创建 .desktop 后缀的文件

cpp 复制代码
[Desktop Entry]
Type=Application
Name=这里填应用的名字
Comment=这里描述该程序功能
Exec=这里是可执行文件的路径。仅当可执行文件不在 $PATH 变量中指定的任何路径中时,才必须使用可执行文件的完整路径。例如,路径 /usr/bin 内的任何文件都不需要在 Exec 字段中指定其完整路径,而只需指定其文件名即可,或者在当前路径下也不用。
Icon=这里是应用图标。例如,目录 /usr/share/pixmaps 下的所有图标不需要指定其完整路径,但不需要指定不带扩展名的文件名。例如,如果图标文件是 /usr/share/pixmaps/wallch.png,则图标字段应该只是"wallch"。或者在当前路径下也不用。所有其他图标都应指定其完整路径。
Categories=Application;

例子

执行下面命令:

cpp 复制代码
~/Downloads/linuxdeployqt One-appimage
# one 是可执行文件的名字
# -appimage 是参数

即可生成 One*.AppImage*

四 .总结

  • Windows打包
    1. 以Release方式构建QT程序;
    2. 使用windeployqt生成exe文件和依赖dll
    3. Enigma Virtual Box 封包
  • Linux打包
    1. 以Release方式构建QT程序;
    2. 生成运行程序
    3. Linuxdeployqt封包

需要注意的是,在打包过程中,需要确保包含了所有必要的依赖文件,否则在运行打包后的可执行文件时可能会出现问题。

相关推荐
码上淘金2 小时前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python
Brilliant Nemo2 小时前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
格林威4 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
橙子199110164 小时前
在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
android·开发语言·kotlin
androidwork4 小时前
Kotlin Android LeakCanary内存泄漏检测实战
android·开发语言·kotlin
学地理的小胖砸5 小时前
【Python 基础语法】
开发语言·python
IT专业服务商5 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
海尔辛5 小时前
学习黑客5 分钟小白弄懂Windows Desktop GUI
windows·学习
gushansanren5 小时前
基于WSL用MSVC编译ffmpeg7.1
windows·ffmpeg
DanB246 小时前
Java笔记4
java·开发语言·笔记