Qt程序可执行文件打包

目录

  • 一、新建一个目录
  • 二、命令行
    • 2.1 添加临时变量
    • 2.2 打包命令
  • 三、添加动态库
  • 四、普通 Qt 项目打包

Qml 项目打包
笔者写的python程序打包地址(https://blog.csdn.net/qq_43700779/article/details/136994813)

一、新建一个目录

新目录(例如test)用以存放 release 编译出来的可执行文件,我的可执行文件是(gauge-example.exe):

Z:\qt-examples\build-gauge-example-Desktop_Qt_5_12_5_MinGW_64_bit-Release\release\gauge-example.exe

将 gauge-example.exe 拷贝放进 test 目录。
在这里插入图片描述

在这里插入图片描述

二、命令行

2.1 添加临时变量

进入 test 目录后打开 cmd 命令行(tips:进入该路径后,直接在路径那里输入cmd即可直接打开命令行,比较方便,如图箭头所示,仅作示例并非真实路径):
在这里插入图片描述

添加临时环境变量:

set PATH=%PATH%;D:\Qt\Qt5.12.5\5.12.5\mingw73_64\bin

添加临时环境变量后,这样才能找到依赖包

2.2 打包命令

qml 项目打包(非 qml 项目不用执行这么长命令),执行:

windeployqt gauge-example.exe -qmldir Z:\qt-examples\gauge-example

注意:-qmldir 后接的是项目中 qml 所在路径,而不是 Qt 安装目录下的路径
在这里插入图片描述

三、添加动态库

打包后会多很多文件,此时双击运行 gauge-example.exe 会报错找不到一些 gcc/g++ 动态库,例如图中的 libwinpthread-1.dll
在这里插入图片描述
在这里插入图片描述

在 Qt Creator “工具->选项->Kits->编译器” 中找到编译器路径,在该路径下去找到相关动态库拷贝到 test 目录下即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、普通 Qt 项目打包

进入 testControl 目录后设置临时环境变量,与文章开头类似:

set PATH=%PATH%;D:\Qt\Qt5.12.5\5.12.5\mingw73_64\bin

添加临时环境变量后,这样才能找到依赖包
与 qml 项目的不同之处在于执行命令的不同,不需要添加 qml 路径,相关 gcc/g++ 动态库还是需要添加,见上述第三步:

windeployqt ContronVehicle.exe

在这里插入图片描述

打包后双击执行即可
在这里插入图片描述
世间无限丹青手,一片伤心画不成。
2024年3月24日20:45:52

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/485501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言自定义类型联合体和枚举

union n.工会;联邦,联盟;协会,俱乐部;联合,合并; 结婚,婚姻;美利坚合众国(the Union); (数)并,并集…

Request请求参数----中文乱码问题

一: GET POST获取请求参数: 在处理为什么会出现中文乱码的情况之前, 首先我们要直到GET 以及 POST两种获取请求参数的不同 1>POST POST获取请求参数是通过输入流getReader来进行获取的, 通过字符输入流来获取响应的请求参数, 并且在解码的时候, 默认的情况是 ISO_885…

【MySQL】InnoDB引擎

逻辑结构 InnoDB存储引擎逻辑结构如图所示: Tablespace:表空间,一个数据库可以对应多个表空间。数据库中的每张表都有一个表空间,用来存放表记录、索引等数据。 Segment:段,表空间中有多个段&#xff0c…

通过dbeaver链接dm8数据库

一、环境说明 windows 11 vmware 17 ubuntu 22 tt:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammytt:~$ docker info Client:Version: 24.0.5Context: d…

【Web】NKCTF 2024 个人wp(部分)

目录 my first cms 全世界最简单的CTF attack_tacooooo 属实太菜了,3/4 my first cms 一眼搜版本2.2.19 CVE -CVE-2024-27622 GitHub - capture0x/CMSMadeSimple 访问/admin/login.php 爆出弱口令,后台登录 admin Admin123 Extensions > User D…

华为OD机试 - 打印任务排序 - 队列(Java 2024 C卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&a…

io流的学习4

字符缓冲流 原理:底层自带了长度为8192的缓冲区提高性能。 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;public class BufferedStringdemo01 {public static void main(String…

Springboot实现合并单元格的excel文件导入到数据库(多模块)

最近做项目的时候一直在遇到excel导入导出的问题,本篇博文也是为了记录我这几天的血泪史,并做以记录,希望各位看完之后能有所收获。 以下是我excel文档里面的具体内容: excel文件中的编码信息属于另外一张表,所以以下…

基于VS code 实现Java前后端打通—基础—使用Springboot+postgreSql+mybatis+Navicat

前言: 作者学习webjava后的而总结,总的流程概括就是先使用springboot创建项目,在application.properties中完成相应的postgreSql和mybaits的环境配置和.xml文件中dependecy依赖配置,entities实现数据表的类型模板,分别…

【机器学习】包裹式特征选择之序列前向选择法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

php 快速入门(一)

一、配置系统环境 1.1 安装软件 1、安装php的开发软件:phpstorm 在这个软件中写代码 2、安装php的运行软件:phpstduy 写好的php程序需要放到phpstduy中,用户才能访问和测试 安装过程注意事项:安装的路径中不能有空格和中文字符&…

day6:STM32MP157——串口通信实验

使用的是cortex A7内核 【串口通信的工作原理】 本次实验使用的是uart4的串口,分别使用了uart4_tx和uart4_rx两个引脚。根据板子的原理图我们可以知道,他们分别对应着芯片的PG11和PB2 从引脚名字也可以知道使用了GPIO口,所以本次实验同样需…

MCGS学习——用户管理

用户管理介绍 用户管理主要是为了实现触摸屏的安全操作,工业过程控制中,应该尽量避免由于人为的误操作所引发的故障或事故,而某些失误带来的后果是致命的;通过用户管理严格限制各类操作的权限,使不具备操作资格的人员…

软考高级:架构与中间件技术-软件复用概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

CHAT~(持续更新)

CHAT(持续更新) 实现一个ChatGPT创建API设计页面布局业务操作技术架构 编码其他 实现一个ChatGPT 创建API 最简单也最需要信息的一步 继续往下做的前提 此处省略,想要获取接口创建方式联系 设计 页面布局 按照官网布局 业务操作 注册登…

Linux 进程通信:匿名管道、实现进程池

目录 一、进程间通信 1、 为什么需要进程通信 2、发展和分类 二、管道 1、概念 2、特点 2、复制并共享 3、用fork来共享管道原理 4、站在文件描述符角度-深度理解管道 5、站在内核角度-管道本质 三、匿名管道 1、概念 2、创建 3、snprintf 4、父子进程中进行单…

抽取CLOB字段中XML的特定元素的VALUE值

在ORACLE数据库中,有时XML文件会被保存在CLOB字段中。 这时候,若是我们要获取此字段XML中特定元素的VALUE值,就需要用到xmltype 这个函数。 如下面的 XML文件,保存在 TABLE_A 的CLOB_K 字段,若是我们要获取其中的 Y…

onnx | onnx-simplifier安装和使用

安装: pip install -i https://pypi.douban.com/simple onnx-simplifierpip install -i http://mirrors.aliyun.com/pypi/simple onnx-simplifier 使用: python -m onnxsim face.onnx face_sim.onnx

Unity Canvas的三种模式

一、简介: Canvas的Render Mode一共有三种模式:Screen Space -OverLay、Screen Space-Camera、World Space Screen Space - Overlay(屏幕空间 - 覆盖): 这是最简单的 Canvas 渲染模式。UI 元素在这个模式下将渲染在屏…

Oracle参数文件详解

1、参数文件的作用 参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。 2、参数文件类型 1)服务端参数文件,又称为 spfile 二进制的文件,命名规则…