【qt5生成软件-can卡-上位机-无法加载ControlCAN.dll错误代码(0xc0150002)等相关问题-WIN11系统-尝试解决】

【qt5生成软件-无法加载ControlCAN.dll&错误代码0xc0150002:-等相关问题-WIN11系统-尝试解决-总结整理】

  • 1.前言
  • 2.环境说明
  • 3.问题说明
  • 4.尝试方法总结
      • (1)更新支持包c++库
      • (2)更新USB相关驱动
      • (3)安装一个can相关上位机软件
      • (4)打包软件的问题
      • (5)命令行直接加载ControlCAN.dll文件,重新注册文件
      • (6)其他方式
  • 5.解决方式
  • 6.方法总结
      • 1. 查看事件查看器中的错误日志
      • 2. 安装正确的 Visual C++ 运行时库
      • 3. 检查 DLL 文件的依赖项
      • 4. 手动检查并行配置文件
      • 5. 确认 DLL 文件的路径和权限
      • 6. 重新注册 DLL 文件
      • 7. 尝试在另一个系统上运行
      • 8. 联系软件供应商或开发者
      • 9. 兼容性模式:
      • 10. 管理员权限:
  • 7.总结

1.前言

最近,电脑更换了win11的系统,安装各种软件后,发现原本在win10上可以运行的qt5生产的软件,用于调试can卡相关设备的软件用不了。

尝试了一些方式,均未能解决,以下为相关记录,也为其它人铺平道路吧。

最后实在没办法,只能更新回去win10系统。

另外就是想要说的是,如果你要是遇到相关问题,也可以参考以下解决方式,没准能解决呢,自己遇到情况还是挺特殊的。

2.环境说明

本次极大概率跟环境系统相关,还是准备系统情况,如果是win10,下面方式供你参考。

开始的电脑系统:win11 64位
后装的电脑系统:win10 64位
测试软件,为qt5生成 64位上位机软件,调试can卡相关。

3.问题说明

如下图所示,简单说,在系统win11上,报错无法加载ControlCAN.dll,这个文件,即使文件就放在同一目录也不行,并且这是打完包的软件。
在这里插入图片描述

即使直接运行没有打包的软件,也会报错,报错如下。
在这里插入图片描述

4.尝试方法总结

(1)更新支持包c++库

一般来说,如果遇到上述问题,自己所遇到的都是,因为目标电脑,本身的c++库太老了,只有更新下,就可以了。
之前在win10上使用的库,肯定不能够在win10上使用了,(后来尝试了,也不行。),如下网址,在微软官网上,有相对应的困,下载下来,运行跟新下。

链接:https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

在这里插入图片描述
界面可能不太一样,也有可能是英文的,找到地方就行,安装自己电脑来。
在这里插入图片描述
结果发现不行,这就很神奇,那么可能是其他原因吧。

(2)更新USB相关驱动

当然也有可能是USB相关驱动,如下,是在can卡相关软件包里,有个usb相关驱动,可以更新下。

资料链接:https://download.csdn.net/download/qq_22146161/87439313
在这里插入图片描述

结果发现还是不行。

(3)安装一个can相关上位机软件

既然驱动也不行,那么需要交叉验证下了,看看是不是电脑就不能使用can相关软件,如上,也是软件包中的软件。

在这里插入图片描述
使用一个硬件设备后,发现可以自发自收,说明电脑是可以使用can卡软件的。

在这里插入图片描述

(4)打包软件的问题

另一个方向就是,有可能本身qt生产软件可以使用,但是打包之后,不支持了,当然实际运行这个软件,发现是其他问题,报了一个其他错误。一般来说,如下相关错误,就是缺少c++相关库,但尝试了。
在这里插入图片描述

(5)命令行直接加载ControlCAN.dll文件,重新注册文件

另一种方式,就是直接将文件放到指定位置,然后用命令加载,如下。

regsvr32 /u ControlCAN.dll
regsvr32 ControlCAN.dll

但是报错,看来这种还是不行
在这里插入图片描述

(6)其他方式

总之,尝试了一些方式吧,都没有在win11上解决这个问题,无奈,只能更新回win10。
如下,可以发现,如果是其他软件,不带有can,是可以正常运行的。
在这里插入图片描述

5.解决方式

最后,退回win10版本后,终于可以运行,这里还是建议,使用习惯的软件,就一直用,不要轻易更改。我在说STM32cudeIDE上遇到过,现在win11也遇到了。
在这里插入图片描述

6.方法总结

简单在总结下,在网上找到一些方式吧,以供参考。

1. 查看事件查看器中的错误日志

这块自己没有实际尝试,忘记了,不能每种方式都尝试吧。
检查事件查看器中的详细错误信息,这通常可以提供关于并行配置错误的更多信息:

  • 按 Win + R 键,输入 eventvwr 并按回车。
  • 在左侧导航窗格中,展开“Windows 日志”,然后单击“应用程序”。
  • 查找带有“SideBySide”源的错误事件。
  • 查看事件详情,找出缺少的依赖项或配置问题。

2. 安装正确的 Visual C++ 运行时库

这是最开始时,使用的方式,认为就是库不匹配的原因,但没能成功。
安装正确版本的 Visual C++ 运行时,你可能需要安装多个版本,包括 x86 和 x64 版本,多次尝试不同库吧。

链接:https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
或者上网上找一找。

3. 检查 DLL 文件的依赖项

下载下来,不太会用,用起来要学习下,感觉挺麻烦的,就没用。网上有相关教程吧。
使用 Dependency Walker 工具来检查 ControlCAN.dll 的依赖项:

  • 下载并安装 Dependency Walker.
  • 打开 Dependency Walker,并加载 ControlCAN.dll 文件。
  • 查看是否有任何缺失的依赖项或错误信息。

链接:https://www.dependencywalker.com/

在这里插入图片描述

4. 手动检查并行配置文件

实在没办法了,一点点排除,不过太慢了,感觉是电脑本身问题,就也没弄。

手动检查并行配置文件(manifest 文件),确保它们没有问题。以下是一些具体步骤:

1,在命令提示符(以管理员身份运行)中使用 sxstrace 工具来生成并行配置错误的日志文件:

sxstrace trace -logfile:sxstrace.etl

2,尝试运行导致错误的应用程序。

3,停止跟踪并生成可读的日志文件:

sxstrace stoptrace
sxstrace parse -logfile:sxstrace.etl -outfile:sxstrace.txt

4,打开生成的 sxstrace.txt 文件,查看详细的错误信息。

5. 确认 DLL 文件的路径和权限

新电脑,尝试放到指定位置,但是不行。

确保 ControlCAN.dll 文件的路径正确,并且文件和其依赖项有足够的权限。确保文件没有被系统或防病毒软件锁定或阻止。
通常情况下,它应该放置在应用程序的目录中,或者系统路径(如 C:\Windows\System32 或 C:\Windows\SysWOW64)中。
检查环境变量是否正确配置。右键点击“此电脑”,选择“属性” -> “高级系统设置” -> “环境变量”,并确保 PATH 环境变量包含 DLL 文件所在的目录。

6. 重新注册 DLL 文件

需要以管理员身份重新注册 DLL 文件,可以尝试下:

  • 打开命令提示符(以管理员身份运行)。
  • 导航到 ControlCAN.dll 文件所在的目录。
  • 输入以下命令重新注册 DLL 文件:
regsvr32 /u ControlCAN.dll
regsvr32 ControlCAN.dll

7. 尝试在另一个系统上运行

之前在win10成功了,所以我直接更新系统了。。。
如果可能的话,尝试在另一个系统上运行相同的应用程序,看看是否存在同样的问题。这可以帮助确定问题是否与特定的系统环境有关。
最后确认和系统相关。

8. 联系软件供应商或开发者

实在不行在网上问问,看看有人遇到过相关问题么,或者在微软官网上问问呗,简单说,解决不了,看看能不能摇人。

9. 兼容性模式:

这是后续查到的,当时确实没想到。

  • 右键点击应用程序的可执行文件,选择“属性”。
  • 在“兼容性”选项卡中,勾选“以兼容模式运行这个程序”,并选择 Windows 10 或更早的版本。
  • 点击“应用”然后“确定”,再尝试运行应用程序。

10. 管理员权限:

尝试过,不行。
右键点击应用程序的可执行文件,选择“以管理员身份运行”。

7.总结

以上供你参考,忠告是,用习惯了环境,尽量不换,别图新,导致自己增加麻烦。

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

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

相关文章

安装pytorch环境

安装:Anaconda3 通过命令行查显卡nvidia-smi 打开Anacanda prompt 新建 conda create -n pytorch python3.6 在Previous PyTorch Versions | PyTorch选择1.70,安装成功,但torch.cuda.is_available 返回false conda install pytorch1.7.0…

【golang学习之旅】使用VScode安装配置Go开发环境

1. 下载并安装Go1.1 下载地址1.2 选择版本并下载1.3 安装目录1.4 验证是否安装成功 2. 配置环境变量2.1 配置步骤2.2 GO部分环境变量说明 3. 下载或更新 Vscode3.1 下载地址3.2 安装步骤 4. 为Go开发配置VScode 1. 下载并安装Go 1.1 下载地址 https://studygolang.com/dl 1.…

【单片机】三极管的电路符号及图片识别

一:三极管的电路符号 二:三极管的分类 a;按频率分:高频管和低频管 b;按功率分:小功率管,中功率管和的功率管 c;按机构分:PNP管和NPN管 d;按材质分:硅管和锗管 e;按功能分:开关管和放…

硬盘分区无法访问:深度解析与解决之道

一、硬盘分区无法访问的现象描述 在日常使用电脑的过程中,有时会遇到硬盘分区无法访问的情况。这通常表现为双击分区时系统提示“无法访问”、“磁盘未格式化”或“需要格式化”等错误消息,导致分区内的文件无法读取或操作。这种情况可能会给用户带来极…

构建高效、便捷的家校沟通桥梁

在现代教育中,家校之间的有效沟通和协作是确保学生全面发展的关键。搭贝家校管理应用通过一系列强大而便捷的功能,帮助学校和家长实现无缝对接,提供全面的管理和服务。以下是搭贝家校管理应用的主要功能和优势。 🏫 主要功能模…

发布自己的c#包到nuget

1)创建自己的nuget账号 NuGet Gallery | Home 2)在Rider中-->项目文件夹右键-->properties 注意:必须勾选生成nuget包 3)编译后,将生成一个包 4)点击上传包 5)将之前的nuget包拖拽过来,点击上传即可,如果有不对的比如&a…

STM32开发环境搭建

新建工程 1.双击桌面的快捷方式打开STM32CubeIDE,需要选择一下工作空间,保存路径可以根据实际选择其他路径(不要带中文)。 点击File->New->STM32 Project. 搜索并选择芯片,我这里以STM32F103RCT6为例&#xff0…

python学习笔记-08

面向对象基础(OOP)-上 1. 面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象(object oriented programming):将数据与函数绑定到一起…

防爆气象站:化工厂区气象环境监测的最佳选择

在化工厂区,气象环境监测至关重要,它直接关系到生产安全、环境保护以及员工健康。防爆气象站作为专业的监测设备,凭借其独特的防爆性能和精准的数据监测能力,成为化工厂区气象环境监测的最佳选择。 防爆气象站采用先进的防爆技术…

java 线程之间通信-volatile 和 synchronized

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

Studying-代码随想录训练营day14| 226.翻转二叉树、101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

第十四天,(ง •_•)ง💪💪,编程语言:C 目录 226.翻转二叉树 101.对称二叉树 100.相同的树 572.另一个树的子树 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 总结 226.翻转二叉树 文档讲…

linux 查找和搜索命令

查找传入条件 a:在哪些目录查找 b:查找的内容 find命令: find 目录名 选项 查找条件 find /home/Camera/ -name “*.txt” 解释: /home/Camera/ 指明了查找的路径 -name 表明以名字来查找文件 *.txt 查找名为.txt的文件 grep命令: 在当前目录下查找: grep -n "sample_s…

AI辅助工具革新金融交易编程,引领行业新风尚

今天有伙伴问了我金融方面AI的问题,我来写一下吧 随着人工智能技术的飞速发展,金融交易领域也迎来了新的变革。传统的金融交易编程往往依赖于交易员的专业知识和编程技能,但在人工智能的助力下,自动写代码的AI辅助工具正逐渐崭露…

访问网络 测试没有问题,正式有问题

ping -c 5 -i 1 www.baidu.com 首先检查一下网络,在正式服务器ping 一下要访问的地址。 如果不行,联系网络管理员开通。 笔者因为这个问题浪费了半天时间,一开始都以为是代码问题 以后大家看到这个异常,解决如下: …

对角线法则的由来

目录 一、前言 二、对角线法则 三、行列式的定义 1. 行列式的定义 2. (全)排列 3. 逆序数 四、由全排列逆序数 到 对角线法则规律 ​编辑 五、参考书目 一、前言 仅限于个人理解,对错没有查证。 二、对角线法则 提起对角线法则,我们更倾向于他是…

企业如何选择合适的CRM工具?除Salesforce之外的10大主流选择

对比salesforce,其他10款优秀CRM:纷享销客CRM、Zoho CRM、腾讯企点、销售易、企业微信 (WeCom)、Odoo CR、OroCRM、金蝶、用友CRM、EspoCRM 虽然Salesforce以其全面的功能和强大的市场占有率在海外收获了许多客户,但Salesforce在国内市场的接…

Microsoft AI Day:支持开放合作,普及技术应用,推进行业企业智慧化创新

微软在北京举办以“共创AI创新,智启无限可能”为主题的Microsoft AI Day活动,集中展示了在生成式智能技术加速发展普及的过程中,微软取得的最新技术突破与进展,并同步更新了在Microsoft Build 2024全球开发者大会上发布的一系列Az…

springboot中,将某个函数的日志单独输出的方法

这里写自定义目录标题 背景解决方案解决过程原理 背景 项目中有个节点健康检查扫描功能,每10秒扫描一次节点。 如果节点挂掉,会输出健康检查失败的日志。 测试环境,虽然配置了多个节点,但并没有都启动,所以在扫描的时…

油猴hook+内存爆破

hook方式 说明:来回翻页发现只有请求体的token需要逆向,而这个请求体是在params里,拼接到url里,可以直接用油猴hook url里的关键字token。 正常步骤 hook代码 // UserScript // name hookparams // namespace htt…

前端易遭受的六大安全威胁,以及对应解决策略。

前端遭受安全威胁可能会导致用户隐私泄露、账户被盗用、系统遭受攻击、用户体验受损等严重后果,所有安全防御也成了前端开发者的必须课之一,贝格前端工场带领大家了解下常见的安全威胁。 一、前端开发面临的安全风险 1. 跨站脚本攻击(XSS&a…