首页 > 编程语言 >【QT】解决生成的exe文件出现“无法定位程序入口”或“找不到xxx.dll”的问题

【QT】解决生成的exe文件出现“无法定位程序入口”或“找不到xxx.dll”的问题

时间:2024-11-13 11:58:28浏览次数:1  
标签:exe QT xxx 程序 dll 目录

【QT】解决生成的exe文件出现“无法定位程序入口”或“找不到xxx.dll”的问题

零、问题

使用QT编译好项目后,想直接在文件资源管理器中运行exe程序或想分享出去给别人使用发现出现如下问题:

  1. 系统错误:找不到xxx.dll。
    系统错误:找不到xxx.dll
  2. 无法找到入口:无法定位程序输入点xxx。
    无法找到入口:无法定位程序输入点xxx

下文将介绍如何解决以上两个问题。

壹、环境介绍

QT的安装路径为D:\Qt
我这边生成的exe文件为一个Camera.exe,放在D:\Qt\project\swap目录下,程序比较简单,故只有一个exe文件。

目录结构

壹、解决“找不到xxx.dll”

在QT的安装目录下的版本号\mingw_64\bin目录下有一个windeployqt.exe程序,例如我的路径为:

D:\Qt\6.2.4\mingw_64\bin\windeployqt.exe

我们在生成的exe所在的文件夹中打开cmd窗口(提示符前面是你的exe程序所在的文件夹),输入如下命令,此程序会帮我们把一些exe运行需要用到的文件复制到当前目录下(前面的为windeployqt.exe的路径,后面的Camera.exe为你的exe程序文件名):

D:\Qt\6.2.4\mingw_64\bin\windeployqt.exe Camera.exe

windeployqt命令

会发现目录中多了一些文件,到时候分享给其他人使用需要把这些文件一起跟exe打包,这样可以解决第一个问题。

叁、解决“无法定位程序输入点xxx”

此时我们要找到QT安装目录下的版本号\mingw_64\bin目录(就windeployqt.exe程序所在目录),把里面的一些dll文件复制到你的exe程序所在的目录中即可,一般是复制这几个:

d3dcompiler_47.dll
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll

不一定全用到,当然为了省事可以直接全复制过来也没关系,要是追求最小安装包,可以一个一个尝试,直到找到真正需要的那个dll。
像我这边就只需要复制一个libstdc++-6.dll就可以了。

成功运行

肆、总结

总之就是去QT安装目录下的版本号\mingw_64\bin目录里复制dll就好了~

标签:exe,QT,xxx,程序,dll,目录
From: https://www.cnblogs.com/minuhy/p/18543612

相关文章

  • Python 第三方库 PyQt5 的安装
    目录前言PyQt5安装不同操作系统PyQt5安装一、Windows系统二、macOS系统三、Linux系统(以Ubuntu为例)安装PyQt5可能会遇到的问题一、环境相关问题二、依赖问题三、网络问题四、安装工具问题五、运行时问题六、环境配置问题七、安装源问题八、检查错误信息......
  • C++基础 抽象类 类模板 STL库 QT环境
    一、抽象类1、纯虚函数        在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容,因此可以将虚函数改为纯虚函数。        语法:virtual返回值类型函数名(参数列表)=0;2.抽象类1)概念        有纯虚函数所在的类,称......
  • 常用的物联网消息队列-Mqtt协议
    EMQX和Mosquitto都是广泛使用的MQTT消息代理,但它们在设计目标、功能和适用场景上有一些显著的区别。Emqx使用教程添加依赖<dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.client.mqttv3</artifactId><version>1.2.5</......
  • Qt滑动条美化自定义
    效果展示主要代码头文件下面是hi控件的头文件,我们继承一个Qt原生的滑动条类QSlider,然后在基类的基础上进行自定义,我会对重要的变量进行解析:classXSlider:publicQSlider{Q_OBJECTpublic:explicitXSlider(QWidget*parent=nullptr);protected:......
  • Qt - 信号与槽的第五个参数
    connent函数第五个参数的作用connect(constQObject*sender,constchar*signal,constQObject*receiver,constchar*method,Qt::ConnectionTypetype=Qt::AutoConnection)第五个参数代表槽函数在哪个线程中执行:自动连接(Qt::AutoConnection),默认的连接方式,如果信号......
  • 关系数据库 Query_Execution
    关系数据库QueryExecution的流程在关系型数据库中,一条Query语句执行的流程如下:DBMS将Quey语句翻译成特定的内部抽象语言,通常有两种QueryPlanlogicalPlan:使用关系代数描述QueryPlan,描述关系操作符或者非关系操作符physical:描述这些操作符的实际动作Que......
  • Qt构建与解析Json示例
    本文以B站UP主“明王讲QT”的【QT开发专题-天气预报】中的章节内容作为学习Qt中构建、解析Json的参考方法。1、Json文本{"info":{"asian":true,"captical":"beijing","founded":1949},"name":"China&qu......
  • 线程进阶篇4:如何用Executors工具类创建线程池-代码演示-源码分析-可行性分析,对比new T
        本篇文章主要是讲解如何使用Executors工具类创建线程池,看本篇之前建议同学们先去看看我发布的上一篇文章,即用newThreadPoolExecutor()来创建线程池,里面讲解了线程池的参数使用方法和场景,熟悉了之后再来学习这一篇会更容易理解一些!因为Executors只是一个工具类,底层......
  • Qt读写文件简单示例
    voidtestReadWriteFile(){//当前程序所在文件夹QStringdirPath=QCoreApplication::applicationDirPath();QStringpath=QDir::cleanPath(dirPath+QDir::separator()+"test.txt");qDebug()<<"Filepath:"<<path;......
  • 【MQTT】代理服务比较RabbitMQ、Mosquitto 和 EMQX
    前言目前要处理大量设备同时频繁发送数据的情况,MQTT协议确实是一个更优的选择,因为它特别适合需要低带宽和高效能的物联网应用,下面是对目前主流协议的对比数据截止日期:2024年11月10日基础设施后端:springcloud项目设备端:IOT设备,每秒上报数据对比项特性RabbitMQMosqui......