QT常见问题(1)

QT常见问题(1)

1.问题描述

Qt在编译器中直接运行没有任何问题,但是进入exe生成目录直接双击运行就报错:文件无法定位程序输入点_zn10qarraydata10deallocateepsyy于动态链接库。

2.问题原因

这个错误通常是由于程序运行时找不到Qt的核心动态链接库(DLL)导致的。在开发环境中,编译器会自动设置好环境变量,所以程序可以找到Qt的DLL。但是当我们直接双击exe运行时,系统可能找不到这些DLL。

3.解决方法

  1. 将所需的Qt DLL文件复制到exe文件所在的目录。

  2. 或者将Qt的bin目录添加到系统的PATH环境变量中。

由于我们更倾向于分发程序时让用户直接运行而不设置环境变量,所以通常采用第一种方法。而且环境变量设置有点玄学在里面,你看着设置好了没问题,程序运行就是不行。

4.具体步骤

  1. 找到程序依赖的Qt DLL文件。

  2. 将这些DLL复制到exe所在的目录。

    如何找到依赖的DLL?

  • 可以使用工具,如windeployqt(Qt自带的工具),它能够自动将程序运行所需的Qt相关文件复制到exe所在目录。

5.操作步骤

  1. 打开Qt命令行
    在开始菜单中找到,例如“Qt 5.15.2 (MinGW 8.1.0 64-bit)”这样的命令行并打开。
    在这里插入图片描述

  2. 导航到exe目录
    使用cd命令切换到exe所在的目录。
    在这里插入图片描述

  3. 运行部署命令
    执行命令:windeployqt 你的程序名.exe
    在这里插入图片描述

    工具会自动复制所有必需的Qt库、插件和依赖项到当前exe目录。命令运行成功的窗口如下,exe所在目录也会多一些DLL文件和文件夹,文件夹中也是DLL文件。
    在这里插入图片描述

    在使用windeployqt工具构建依赖库时,确认自己是以debug模式还是release模式生成依赖库,模式查看如上图箭头所指。如果与自己的运行模式不一致,可以使用windeployqt 你的程序名.exe --debug或者windeployqt 你的程序名.exe --release强制以debug executable模式或者release executable模式运行。

    注意:如果程序使用了其他第三方库(非Qt的),则需要手动将这些库的DLL也复制到exe目录。

    另外,如果报错中提到的具体函数(如_zn10qarraydata10deallocateepsyy)是QtCore库中的,那么很可能是因为

    QtCore的版本不匹配或者没有找到。使用windeployqt可以解决这个问题。

    如果使用了MinGW,还需要将MinGW的运行时库(例如libgcc_s_seh-1.dll, libstdc+±6.dll, libwinpthread-1.dll)也复制到exe目录。这些文件在MinGW的安装目录下的bin文件夹里。

    完成上述步骤后,再次双击exe应该就可以正常运行了。

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

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

相关文章

『大模型笔记』第2篇:并发请求中的 Prefill 与 Decode:优化大语言模型性能

『大模型笔记』并发请求中的 Prefill 与 Decode:优化大语言模型性能 文章目录 一. Token 生成的两个阶段:Prefill 和 Decode1.1. 指标分析1.2. 资源利用率分析二. 并发处理机制2.1. 静态批处理 vs 持续批处理(Static Batching vs. Continuous Batching)2.2. Prefill 优先策略…

JVM(7)——详解标记-整理算法

核心思想 标记-整理算法同样分为两个主要阶段,但第二个阶段有所不同: 标记阶段: 与标记-清除算法完全一致。遍历所有可达对象(从 GC Roots 开始),标记它们为“存活”。 整理阶段: 不再简单地清…

进程虚拟地址空间

1. 程序地址空间回顾 我们在学习语言层面时,会了解到这样的空间布局图,我们先对他进行分区了解: 如果以静态static修饰的变量就会当成已初始化全局变量来看待,存放在已初始化数据区和未初始化数据区之前。 如果不用static修饰test…

C语言学习day17-----位运算

目录 1.位运算 1.1基础知识 1.1.1定义 1.1.2用途 1.1.3软件控制硬件 1.2运算符 1.2.1与 & 1.2.2或 | 1.2.3非 ~ 1.2.4异或 ^ 1.2.5左移 << 1.2.6右移 >> 1.2.7代码实现 1.2.8置0 1.2.9置1 1.2.10不借助第三方变量&#xff0c;实现两个数的交换…

【linux】简单的shell脚本练习

简单易学 解释性语言&#xff0c;不需要编译即可执行 对于一个合格的系统管理员来说&#xff0c;学习和掌握Shell编程是非常重要的&#xff0c;通过shell程序&#xff0c;可以在很大程度上简化日常的维护工作&#xff0c;使得管理员从简单的重复劳动中解脱出来 用户输入任意两…

机构运动分析系统开发(Python实现)

机构运动分析系统开发(Python实现) 一、引言 机构运动分析是机械工程的核心内容,涉及位置、速度和加速度分析。本系统基于Python开发,实现了平面连杆机构的完整运动学分析,包含数学建模、数值计算和可视化功能。 二、系统架构设计 #mermaid-svg-bT8TPKQ98UU9ERet {font…

工程师生活:清除电热水壶(锅)水垢方法

清除电热水壶&#xff08;锅&#xff09;水垢方法 水垢是水加热时自然形成的钙质沉淀物&#xff0c;常粘附在水壶内壁及发热盘上。它不仅影响水的品质&#xff0c;还会缩短水壶的使用寿命&#xff0c;因此需要定期清除。建议根据各地水质不同&#xff0c;每年除垢 2 至 4 次。…

[分布式并行策略] 数据并行 DP/DDP/FSDP/ZeRO

上篇文章【[论文品鉴] DeepSeek V3 最新论文 之 DeepEP】 介绍了分布式并行策略中的EP&#xff0c;简单的提到了其他几种并行策略&#xff0c;但碍于精力和篇幅限制决定将内容分几期&#xff0c;本期首先介绍DP&#xff0c;但并不是因为DP简单&#xff0c;相反DP的水也很深&…

LeeCode144二叉树的前序遍历

项目场景&#xff1a; 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 解释&#xff1a; 示例 2&#xff1a; 输入&#xff1a;root [1,2,3,4,5,null,8,null,null,6,7…

日本生活:日语语言学校-日语作文-沟通无国界(3)-题目:わたしの友達

日本生活&#xff1a;日语语言学校-日语作文-沟通无国界&#xff08;&#xff13;&#xff09;-题目&#xff1a;わたしの友達 1-前言2-作文原稿3-作文日语和译本&#xff08;1&#xff09;日文原文&#xff08;2&#xff09;对应中文&#xff08;3&#xff09;对应英文 4-老师…

使用 rsync 拉取文件(从远程服务器同步到本地)

最近在做服务器迁移&#xff0c;文件好几个T。。。。只能单向访问&#xff0c;服务器。怎么办&#xff01;&#xff01;&#xff01; 之前一直是使用rsync 服务器和服务器之间的双向同步、备份&#xff08;这是推的&#xff09;。现在服务器要迁移&#xff0c;只能单向访问&am…

Linux 并发编程:从线程池到单例模式的深度实践

文章目录 一、普通线程池&#xff1a;高效线程管理的核心方案1. 线程池概念&#xff1a;为什么需要 "线程工厂"&#xff1f;2. 线程池的实现&#xff1a;从 0 到 1 构建基础框架 二、模式封装&#xff1a;跨语言线程库实现1. C 模板化实现&#xff1a;类型安全的泛型…

2013年SEVC SCI2区,自适应变领域搜索算法Adaptive VNS+多目标设施布局,深度解析+性能实测

目录 1.摘要2.自适应局部搜索原理3.自适应变领域搜索算法Adaptive VNS4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流 1.摘要 VNS是一种探索性的局部搜索方法&#xff0c;其基本思想是在局部搜索过程中系统性地更换邻域。传统局部搜索应用于进化算法每一代的解上&…

详细介绍医学影像显示中窗位和窗宽

在医学影像&#xff08;如DICOM格式的CT图像&#xff09;中&#xff0c;**窗宽&#xff08;Window Width, WW&#xff09;和窗位&#xff08;Window Level, WL&#xff09;**是两个核心参数&#xff0c;用于调整图像的显示对比度和亮度&#xff0c;从而优化不同组织的可视化效果…

Unity_VR_如何用键鼠模拟VR输入

文章目录 [TOC] 一、创建项目1.直接创建VR核心模板&#xff08;简单&#xff09;2.创建3D核心模板导入XR包 二、添加XR设备模拟器1.打开包管理器2.添加XR设备模拟器3.将XR设备模拟器拖到场景中4.运行即可用键盘模拟VR输入 一、创建项目 1.直接创建VR核心模板&#xff08;简单&…

SpringBoot定时监控数据库状态

1.application.properties配置文件 # config for mysql spring.datasource.url jdbc\:mysql\://127.0.0.1\:3306/数据库名?characterEncoding\utf8&useSSL\false spring.datasource.username 账号 spring.datasource.password 密码 spring.datasource.validation-quer…

Qt联合Halcon开发一:Qt配置Halcon环境【详细图解流程】

在Qt中使用Halcon库进行图像处理开发&#xff0c;可以有效地结合Qt的图形界面和Halcon强大的计算机视觉功能。下面是详细的配置过程&#xff0c;帮助你在Qt项目中成功集成Halcon库。 步骤 1: 安装Halcon软件并授权 首先&#xff0c;确保你已经在电脑上安装了Halcon软件&#x…

一体化(HIS系统)医院信息系统,让医疗数据互联互通

在医疗信息化浪潮下&#xff0c;HIS系统、LIS系统、PACS系统、电子病历系统等信息系统成为医疗机构必不可少的一部分&#xff0c;从患者挂号到看诊&#xff0c;从各种检查到用药&#xff0c;从院内治疗到院外管理……医疗机构不同部门、不同科室的各类医疗、管理业务几乎都初步…

Spring Boot 的 3 种二级缓存落地方式

在高并发系统设计中&#xff0c;缓存是提升性能的关键策略之一。随着业务的发展&#xff0c;单一的缓存方案往往无法同时兼顾性能、可靠性和一致性等多方面需求。 此时&#xff0c;二级缓存架构应运而生&#xff0c;本文将介绍在Spring Boot中实现二级缓存的三种方案。 一、二…

Android Studio Profiler使用

一:memory 参考文献: AndroidStudio之内层泄漏工具Profiler使用指南_android studio profiler-CSDN博客