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 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself12 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj23 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man27 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*28 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家28 分钟前
go语言中package详解
开发语言·golang·xcode
llllinuuu29 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s30 分钟前
Golang--协程和管道
开发语言·后端·golang
王大锤439132 分钟前
golang通用后台管理系统07(后台与若依前端对接)
开发语言·前端·golang
为什么这亚子32 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算