QT打包exe文件,在其它电脑里双击exe就可以直接运行

想要不依赖QT环境,在其它电脑里直接双击exe文件就可以运行当前程序。具体打包过程如下:

  1. 使用QT编译出release版本的exe
    在这里插入图片描述

  2. release版本运行无误后,需要找到当前构建生成的exe所在文件夹
    可以看到具体目录在这里
    在这里插入图片描述
    我在该目录下的bin文件夹里找到了可执行的exe文件
    在这里插入图片描述

  3. 在其它地方新建一个文件夹,将该exe文件复制进去
    在这里插入图片描述

  4. 在开始菜单中找到Qt命令终端,(需要与刚刚构建时使用的版本一致),然后打开(最好不要以管理员身份运行,听说以管理员运行会优先找系统环境变量里的可执行文件,而不是当前目录下的可执行文件。)
    在这里插入图片描述

  5. 将目录切到刚刚新建的文件夹下
    在这里插入图片描述

  6. 执行指令windeployqt InertSim.exe,也就是windeployqt+空格+exe的名字
    但是会报错,说找不到一个依赖库。是关于QtCharts的一个dll,我在代码里确实用到了Charts来画图。
    在这里插入图片描述
    我在所给的目录下确实没有找到Qt5Charts_conda.dll,全局搜索了一下,发现只有在D:\anaconda3\Library\bin目录下有该dll
    在这里插入图片描述
    注意一下,这个QtCharts的后缀是conda。我在这里用Qt跟conda没有什么关系。也就是如下这两个软件都存在于我的电脑,但是两个并没有什么关联,一个是搞C++的,一个是搞Python的。
    在这里插入图片描述

原因:
Anaconda 中环境带有pyqt包时,可能通过环境变量查找到相关bin目录,并在其中寻找依赖库,从而冲突

解决:
请看这位博主的文章。。https://blog.csdn.net/cramming/article/details/129672845

我觉得该博主记录的有道理,但是我改了后电脑也重启了,还是不行,会报同样的错误,也不知道是什么原因。
所以我换了一个没有anaconda只有qt的电脑进行运行windeployqt InertSim.exe打包,最后是成功的。
在这里插入图片描述

  1. 我们看看刚刚新建的目录,可以看到多了很多文件,这些文件都是windeployqt自动检索到运行InertSim.exe需要的配合文件,会自动复制到这里。
    在这里插入图片描述

  2. 如果自己的程序里没有引入其它外部文件,就可以直接双击这个exe运行了。到此打包过程已经完全结束。
    但是我的代码里还要读入其它文件才能配合运行,比如在之前QT编译出来的exe的同级目录下就有我引入的外部DualSPHysics文件夹和ParaViewFilters.xml文件。
    在这里插入图片描述
    所以现在也需要把它们复制到我新建的文件夹下
    在这里插入图片描述
    如果还引入了其它dll,一定要添加全,要不然在其他人的电脑里运行会报错,有时候会直接报错缺少哪个dll(报错类型1),有时候会报一串代码序号(报错类型2)。如下图,都是我遇到的报错,都是因为dll引入不全或者不正确。
    在这里插入图片描述

引入dll齐全后,现在双击InertSim.exe就可以运行啦!自己测试,直接发送到别人没有安装QT的电脑里也可以打开运行!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高速视频采集卡设计方案:620-基于PCIe的高速视频采集卡

一、产品概述 基于PCIe的高速视频采集卡,通过PCIe3.0X8传输到存储计算服务器,实现信号的分析、存储。 北京太速科技 产品固化FPGA逻辑,适配视频连续采集,缓存容量2GB,开源的PCIe QT客户端软件&#xff0c…

在mt4上怎么查看CHFJPY品种的合约细则?

在MetaTrader 4 (MT4) 上查看CHFJPY品种的合约细则的方法如下: FXCM福汇官方个人注册登录流程 1.打开MT4软件并登录到您的交易账户。 2.在MT4界面的"市场观察"窗格中,找到并右键单击"CHFJPY"货币对。如果您无法找到"市场观察…

Transformer Decoder的输入

大部分引用参考了既安的https://www.zhihu.com/question/337886108/answer/893002189这篇文章,个人认为写的很清晰,此外补充了一些自己的笔记。 弄清楚Decoder的输入输出,关键在于图示三个箭头的位置: 以翻译为例: 输…

MyBatis ORM映射

MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系&#xff0c;二者不同时无法自动ORM 因此需要使用到ORM映射。 共有两种解决办法&#xff1a;1.列的别名 2.结果映射 1.列的别名 在SQL中使用 as 为查询字段添加列别名&#xff0c;以匹配属性名 public List<…

Kafka--Kafka日志索引详解以及生产常见问题分析与总结

一、Kafka的Log日志梳理 ​ 这一部分数据主要包含当前Broker节点的消息数据(在Kafka中称为Log日志)。这是一部分无状态的数据&#xff0c;也就是说每个Kafka的Broker节点都是以相同的逻辑运行。这种无状态的服务设计让Kafka集群能够比较容易的进行水平扩展。比如你需要用一个新…

VSCode报错插件Error lens

1.点击左侧扩展图标→搜索“error lens”→点击“安装” 2.安装成功页面如下&#xff1a; 3.代码测试一下&#xff1a;书写代码的过程中会出现红色提醒或红色报错 4.另外推荐小伙伴们安装中文插件&#xff0c;学习过程中会比较实用方便&#xff0c;需要安装中文插件的小伙伴请点…

详解数据科学自动化与机器学习自动化

过去十年里&#xff0c;人工智能&#xff08;AI&#xff09;构建自动化发展迅速并取得了多项成就。在关于AI未来的讨论中&#xff0c;您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语。事实上&#xff0c;这些术语有着不同的定义&#xff1a;如今的自动…

安卓手机语音备忘录在哪里?

我们在日常生活和工作中&#xff0c;使用手机记事的时候&#xff0c;不仅需要在备忘录或便签软件中记录文字、图片&#xff0c;有时候我们也需要记录语音或音频文件。那么安卓手机语音备忘录在哪里呢&#xff1f;其实绝大多数的安卓手机中都是没有专门的语音备忘录的&#xff0…

pyCharm 创建一个FastApi web项目,实现接口调用

FastApi和Django区别 我这边演示项目使用的fastApi作为web框架&#xff0c;当然主流一般都是使用Django做web框架&#xff0c;但是Django是一个重量级web框架他有很多组件&#xff0c;如授权&#xff0c;分流等全套web功能。我这边呢只需要有个接口可以被别人调用&#xff0c;…

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现KOA-CNN-B…

伦敦金交易内地与香港有何区别

伦敦金交易是国际银行间市场层面的现货黄黄金交易&#xff0c;亚洲市场的交易中心在中国香港&#xff0c;现在不管是香港本地还是内地的投资者&#xff0c;都可以在网上开户&#xff0c;通过香港的平台参与伦敦金交易&#xff0c;所得到的服务是同等的、公平的、与国际市场接轨…

UE4 UE5 一直面向屏幕

一直面相屏幕&#xff0c;方法很简单 新建一个蓝图&#xff0c;如下添加组件&#xff1a; 蓝图如下&#xff1a; Rotation Actor &#xff1a;需要跟随镜头旋转的物体 Update&#xff1a;一个timeline&#xff08;替代event tick 只是为了循环&#xff09; Timeline&#xff…

MySQL是如何保证数据不丢失的?

文章目录 前言Buffer Pool 和 DML 的关系DML操作流程加载数据页更新记录 数据持久化方案合适的时机刷盘双写机制日志先行机制日志刷盘机制Redo Log 恢复数据 总结 前言 上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是&#…

【git学习笔记 01】打标签

文章目录 一、声明二、对标签的基本认知什么是标签&#xff1f;为什么要打标签&#xff1f;如何生成类似github中readme的图标 三、标签相关命令四、示例操作 一、声明 本帖持续更新中如有纰漏&#xff0c;望批评指正&#xff01;参考视频链接&#xff0c;非常感谢原作者&…

tcp vegas 为什么好

我吹捧 bbr 时曾论证过它在和 buffer 拧巴的时候表现如何优秀&#xff0c;但这一次说 vegas 时&#xff0c;我说的是从拥塞控制这个问题本身看来&#xff0c;vegas 为什么好&#xff0c;并且正确。 接着昨天 tcp vegas 鉴赏 继续扯。 假设一群共享带宽的流量中有流量退出或有…

AWS RDS慢日志文件另存到ES并且每天发送邮件统计慢日志

1.背景&#xff1a;需要对aws rds慢日志文件归档到es&#xff0c;让开发能够随时查看。 2.需求&#xff1a;并且每天把最新的慢日志&#xff0c;过滤最慢的5条sql 发送给各个产品线的开发负责人。 3.准备&#xff1a; aws ak/sk &#xff0c;如果rds 在不同区域需要认证不同的…

UE5 C++(六)— 枚举UENUM、结构体USTRUCT和补充属性说明符

文章目录 枚举&#xff08;ENUM&#xff09;第一种方式第二种方式 结构体&#xff08;USTRUCT&#xff09;补充属性说明符&#xff08;ExposeOnSoawn&#xff09;结构体创建数据表格 枚举&#xff08;ENUM&#xff09; 第一种方式 定义枚举 UENUM(BlueprintType) namespace …

Java如何开发PC客户端(Windows,Mac,Linux)

项目编译工具&#xff1a;Gradle开发工具&#xff1a; Idea开发语言&#xff1a; 建议java17以上ui组件&#xff1a;openjfx (org.openjfx.javafxplugin)打包工具: jpackage (org.beryx.jlink)如果打包出现错误&#xff0c;可以安装wix(3.1以上) dotnetfx(3.5以上) 试试看 一…

Swagger2接口测试文档

目录 一、Swagger简介 1.1 Swagger是什么&#xff1f; 1.2 为什么要用Swagger 1.3 Swagger注解 二、Spring集成Swagger 三、测试环境配置 一、Swagger简介 1.1 Swagger是什么&#xff1f; Swagger 是一个开源的 API 设计和文档工具&#xff0c;它可以帮助开发人员更快、…

关于EasyExcel 合并单元格方法该如何实现

在做一个业务的导出&#xff0c;目前遇到一个需求&#xff0c;如下图&#xff1a; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.write.handler.CellWriteHandler; import com.alibaba.excel.write.metad…