【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.总结

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

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

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

相关文章

Sqlite3数据库基本使用

一、基本概念 数据:能够输入计算机并能被计算机程序识别和处理的信息集合 数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合 DBMS:位于用户与操作系统之间的一层数据管理软件,用于操纵和管理数据库 二、安装 在线…

经验分享,16进制与字符串的互相转换网站

分享一个16进制与字符串的互相转换的网站,比较实用。 网址: https://www.bejson.com/convert/ox2str/ 截图:

C++中priority_queue的模拟实现(注释详解)

首先我们要了解什么是 priority_queue ,priority_queue 优先队列是一种数据结构,它存储了元素以及它们的优先级。在优先队列中,元素按照其优先级的顺序进行移除,优先级较高的元素首先被移除。优先队列通常使用堆数据结构来实现&am…

Linux内核编程(六)平台总线plantform驱动模型

本文目录 前述:为什么引入平台总线模型一、知识点1. 什么是平台总线模型2. 平台总线模型使用3. 平台总线是如何工作的4. 平台总线模型的优点 二、平台总线设备层1. 常用API(1) 注册一个平台设备(2) 注销一个平台设备&a…

最好用的智能猫砂盆存在吗?自用分享智能猫砂盆测评!

在现代都市的忙碌生活中,作为一名上班族,经常因为需要加班或频繁出差而忙碌得不可开交。急匆匆地出门,却忘了给猫咪及时铲屎。但是大家要知道,不及时清理猫砂盆会让猫咪感到不适,还会引发各种健康问题,如泌…

HTML入门教程:深度解析HTML,开启你的前端技术之旅

一、引言 HTML(HyperText Markup Language,超文本标记语言)是前端开发的基础,它负责构建网页的结构和内容。作为前端技术栈的基石,HTML的掌握程度直接影响到网页的开发效率和用户体验。本教程将带你从零开始&#xff…

(新)Spring Security如何实现登录认证(实战篇)

一、回顾认证流程详解 概念速查: Authentication接口: 它的实现类,表示当前访问系统的用户,封装了用户相关信息。 AuthenticationManager接口:定义了认证Authentication的方法 UserDetailsService接口:加载用户特定数据的核心接…

从视频创意到传播策略 | 医药产品TVC新媒体传播方案

作为营销策划人,你一定在寻找能够激发创意灵感、拓展策划视野的实战案例。这份最新传播方案由Unithought精心打造,不仅是一份详尽的策划指南,更是一次深入患者心灵的品牌传播实践。 何策网,每日收录全网方案PPT ! 方…

Simulink代码生成: 基本数据类型

文章目录 1 引言2 Simulink中的基本数据类型3 数据类型实例3.1 浮点类型3.2 整数类型3.3 布尔类型 3 数据类型使用的注意点3.1 浮点数等于比较3.2 整形数溢出3.3 布尔类型的位域 4 关于定点数的说明5 总结 1 引言 正如C语言中为变量区分了不同的数据类型一样,Simul…

Spark日志有哪些?

spark.log:记录作业运行日志,包括Spark框架内部日志和用户通过日志接口输出的日志。 executor 启动结束日志: job,stage,task提交结束日志: pmap.log:周期性地截取Driver或Executor的pmap和…

Java 17的新特性

Java 17引入了多项新特性,以下是一些重要的更新: 增强的伪随机数生成器(JEP 356) Java 17为伪随机数生成器(PRNG)提供了新的接口类型和实现,包括可跳转的PRNG和另一类可拆分的PRNG算法&#xf…

公开整理-中国海关进出口增减数据(2008-2024年)

数据来源:东方财富网 时间跨度:2008年至今 数据范围:全国范围 数据指标: 年月 当月出口额-金额 当月出口额-同比增长 当月出口额-环比增长 当月进口额-金额 当月进口额-同比增长 当月进口额-环比增长 累计…

SCI一区TOP|常青藤优化算法(IVYA)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4 .参考文献5.代码获取 1.背景 2024年,M Ghasemi受到自然界中常青藤生长行为启发,提出了常青藤优化算法(Ivy Algorithm, IVYA)。 2.算法原理 2.1算法思想 IVYA模拟常青…

【Linux】环境基础开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile)

文章目录 Linux 软件包管理器 yumLinux开发工具Linux编辑器-vim使用vim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行模式各命令汇总批量化注释和批量化去注释vim简单的配置解决一个小问题 Linux编译器-gcc/g作用gcc/g 语法预处理编译汇编链接什么是函数库 Linux调…

【后端】websocket学习笔记

文章目录 1. 消息推送常见方式1.1 轮询 VS 长轮询1.2 SSE(server-sent event)服务器发送事件 2. websocket介绍2.1 介绍2.2 原理2.3 websoket API2.3.1 客户端【浏览器】API2.3.2 服务端API 3. 代码实现3.1 流程分析3.2 pom依赖3.3 配置类3.4 消息格式3.5 消息类 4.…

Weevil-Optimizer象鼻虫优化算法的matlab仿真实现

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 Weevil-Optimizer象鼻虫优化算法的matlab仿真实现,仿真输出算法的优化收敛曲线,对比不同的适应度函数。 2.测试软件版本以及运行结果展示…

Linux - 进程

一、什么是进程 首先,Linux是一个多用户多进程的操作系统,系统上可以同时运行多个进程。 进程的产生:①是在执行程序或者命令时产生的;②定时任务进程 进程的类型:前台进程/后台进程 前台进程:一个终端…

WDC西部数据闪存业务救赎之路,会成功吗?

一、序言 在存储界的江湖里,WDC就像是一位手握两大秘籍(闪迪和铠侠NAND工厂)的武林高手,本以为能在企业级SSD的擂台上大展身手,结果却发现自己更像是被误邀参加学霸聚会的学渣,心里那个苦啊,只…

Java15-API

目录 Math类 概述 常见方法 练习 System类 概述 常见方法 Runtime 概述 常见方法 Object类 概述 常见方法 一.演示toString方法 二.演示equals方法 三、对象克隆 分类: 浅克隆 深克隆: Objests类 概述 常见方法 BigInteger类 概…

jenkins安装和使用 (二)

参考视频资料 https://www.bilibili.com/video/BV1bS4y1471A?p10&vd_sourcee0dcd147bd5d730317de804d788cd6f9 安装maven插件 新建item 配置构建信息 项目地址替换为自己的实际地址 其余保持先保持默认 先然后在主页就看到了这个项目 查看控制台输出 稍等一…