首页 > 编程语言 >彻底解决Qt报错:无法定位程序输入点于动态链接库

彻底解决Qt报错:无法定位程序输入点于动态链接库

时间:2024-03-13 11:44:36浏览次数:25  
标签:Qt 点于 dll 编译器 报错 动态链接库 环境变量

彻底解决Qt报错:无法定位程序输入点于动态链接库

问题描述

前段时间使用Qt Creator写程序,在最后打包的时候出错,期间尝试修改环境变量的顺序,后来发现不是环境变量的问题,但问题解决后并未将环境变量改回,导致今天使用VS2017联合Qt编译之前程序(之前已验证正确)的时候报错,具体错误信息如下:

因为之前已经正确编译,并进行了打包,可以放到其他未配置编程环境的电脑运行,而且从未对工程文件进行移动(如果对工程文件进行了移动,一些动态链接库的地址可能会发生改变),因此很大可能是电脑环境配置发生了改变。

解决方案

说很多时候需要调用动态链接库dll的时候会出现dll污染的情况比如你安装的某些程序路径中也包含了这个QtCore4的文件,而且人家的路径放在Path靠前的位置,你把Qt官方路径放在最后当然要吃亏的拉......

因此,将正在使用的编译器(我使用的是VS2017联合Qt进行开发,对应的编译器是MSVC2017_64,如果使用Qt Creator编译则是MinGW73_32,具体情况具体分析)放在其他编译器之前,所以我将两个编译器环境变量的顺序进行了交换如果有其他编译器,最好将正在使用的编译器的环境变量放在最前面)。

我一共有MSVC2017_64,MSVC2017_32,MinGW73_32,MinGW73_64,这四个编译器,但是经过测试好像只有前两个编译器能调用动态链接库dll,不会出现dll污染的情况,我经常我的也是前两个,所以如果有多个编译器的时候,尽量把自己最常使用的路径放在前两个

注意事项

首先要确保环境变量配置成功,一定要确保自己已经将环境变量进行了保存。

还要对VS(Qt也一样)进行重启,或者对电脑进行重启。

按照这样的方法,Qt生成的.exe文件就可以正常运行了

标签:Qt,点于,dll,编译器,报错,动态链接库,环境变量
From: https://www.cnblogs.com/bujidao1128/p/18070293

相关文章

  • Qt 安装与环境变量的设置(Windows 10)
    Qt安装与环境变量的设置(Windows10)Qt下载Qt下载地址我下载的是windowQt5.13.1下载后安装,安装过程很简单,中间需要注册一个qt的账户,按步骤来即可组件选择了MinGW73_32、MinGW73_64、MSVC2017_32和MSVC2017_64环境变量设置打开此电脑的属性选择高级系统设置打开环境......
  • 用QT开发Android投屏软件--上传文件和安装apk
    这篇文章我们给Android投屏软件增加文件上传和安装apk的功能。上传文件和安装apk对pc端的操作基本没有差别,因为apk也是一种文件格式。通过点击按钮或者拖动待上传(安装)的文件到投屏窗口,软件获取到文件路径,执行不同的adb命令。上传文件的adb命令:adb-s设备序列号push<电......
  • nvm命令和常见报错
    常用命令nvmlistavailable//查看所有node版本nvmlist//查看已经安装nodenvmls//查看已经安装nodenvmcurrent//查看当前版本nvmversion nvminstallXXX//安装指定node如:nvminstall13.14.0nvmuninstallnod......
  • Ansible报错:Failed to parse /etc/ansible/hosts with yaml plugin
    早上接到同事反馈说Grafana某个监控图表点击后反应很慢,其他的图表都正常,只有这一张图表很慢。经过和大数据部门同事的沟通,发现应该是从大数据系统推送出来的数据有点问题,需要联合Grafana机器进行调试,询问我Grafana部署在哪台机器上。由于公司不同区域都有一套Prometheus+Grafana......
  • Qt 大小端字节序的处理
    1、EndianOrder什么是大小端字节序(EndianOrder)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间是从低地址0x00到高地址0x03的一段连......
  • Qt 大端模式、小端模式及其转换
    大端模式和小端模式是计算机中经常涉及到的两种字节序,也有大端对齐、小端对齐、大尾、小尾等叫法。一、起源说起这两种模式,就不得不提一下大端(Big-endian)和小端(Little-endian)这两个英文上的起源。“endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。Lilli......
  • Qt QTextStream 类(文本流)和 QDataStream 类(数据流)
    一、二者区别(1)QTextStream类:用于对数据进行文本格式的读/写操作,可在QString、QIODevice或QByteArray上运行,比如把数据输出到QString、QIODevice或QByteArray对象上,或进行相反的操作。(2)QDataStream类:用于对数据进行二进制格式的读/写操作,QDataStream只可在QIOD......
  • 错误:在 /tmp/easy_install-rad8_t5b/PyQt5-5.14.0.tar.gz #15 中找不到安装脚本
    thePyQt55.14.0isbrokenbecausecan'tnotinstallonresppi3.youcantoinstallaversionofPyQt5thatworkingfineonresp.followthesteps:PyQt55.14.0已损坏,因为无法无法安装在resppi3上。您可以安装一个在resp上运行良好的PyQt5版本,请按照以下......
  • 关于树莓派5(Ubnutu 23.10和树莓派5自带的系统通用)下载时出现error: externally-manage
    一.报错产生的原因  最近作者更新了这两个系统,在作者想去安装非 Debian的库的时候总是出现以下的报错:error:externally-managed-environment这是因为树莓派5升级了服务器系统,从Debian11到了Debian12,这个服务器系统对于外接库的限制还是比较严格的。作者也按照系......
  • QT生成固定长度的随机字符串
    最近项目中有一个需要使用QT生成固定长度随机字符串的需求,需求也很简单,就是生成一个n位的仅包含0-9以及大写字母的字符串,因为这也是第一次使用QT自身的随机数,这里就做一下简单记录。废话不多说,直接上代码。1QStringgetRandomString(intlength)2{3qsrand(QDateTi......