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

news2024/10/6 14:25:36

【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.coloradmin.cn/o/1839636.html

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

相关文章

valgrind工具的交叉编译及使用

一 概述 valgrind是一款非常好用的工具,用于检测内存泄漏等,这里讲述如何将其交叉编译到arm开发板及如何使用 【C/C 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南 - 知乎 (zhihu.com) valgrind: fai…

Word2Vec基本实践

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

WPF三方UI库全局应用MessageBox样式(.NET6版本)

一、问题场景 使用HandyControl简写HC 作为基础UI组件库时,希望系统中所有的MessageBox 样式都使用HC的MessageBox,常规操作如下: 在对应的xxxx.cs 顶部使用using 指定特定类的命名空间。 using MessageBox HandyControl.Controls.Message…

Elasticseach RestClient Api

Elasticsearch RestclientApi基础用法 查询 索引库 初始化 添加依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency>创建链接 package com…

今日分享丨点亮这四个技能,你也可以成为可视化专家

引言 以大数据、人工智能等为代表的新质生产力时代已悄然而至&#xff0c;央企、国企逐步意识到数据资源展示对于经营管理的重要性和紧迫性。数据可视化成为连接用户与数据的桥梁&#xff0c;藉由设计师的巧手&#xff0c;把复杂抽象的数据以基于管理需求&#xff0c;转化为直…

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为&#xff1a; x&#xff1a;[batch, seq_len, input_size]h0&#xff1a;[batc…

探究C语言函数栈帧的创建和销毁

引言 在C语言程序中&#xff0c;每当一个函数被调用时&#xff0c;系统都会在栈上为该函数分配一块内存空间&#xff0c;这块内存空间就被称为栈帧。 栈帧中包含了函数执行所需的所有信息&#xff0c;如局部变量、参数、返回地址等。栈帧的创建和销毁是函数调用的核心部分&am…

【华为HCIA数通网络工程师真题-数据通信与网络基础】

文章目录 选择题判断题 选择题 1、在 VRP 平台上&#xff0c;可以通过下面哪种方式访向上条历史命令&#xff1f; 上光标 &#xff08;ctrlU 为自定义快捷键&#xff0c;ctrlP 为显示历史缓存区的前一条命令&#xff0c;左光标为移动光标&#xff09; 2、主机 A &#xff08;1…

TensorRT-常见问题

1、ModelImporter.cpp:779: ERROR: builtin_op_importers.cpp:3608 In function importResize:[8] Assertion failed: scales.is_weights() && "Resize scales must be an initializer!"解决方法&#xff1a;将TensorRT版本升到可以匹配cuda版本的最高版本&a…

多态性(Java)

本篇学习面向对象语言的第三个特性——多态。 目录 1、多态的概念 2、继承多态实现条件 3、重写 4、重新与重载的区别&#xff1a; 5、向上转移和向下转型 5、1向上转型&#xff1a; 5、2 向下转型 1、多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态…

Servlet实践操作

Servlet运行原理 Tomcat 的代码内置了 main 方法&#xff0c;当我们启动 Tomcat 的时候&#xff0c;就是从 Tomcat 的 main 方法开始执行的 被 WebServlet 注解修饰的类会在 Tomcat 启动的时候就被获取并集中管理 Tomcat 通过反射这样的语法机制来创建被 WebServlet 注解修饰…

Day 27:2596. 检查骑士巡视方案

Leetcode 2596. 检查骑士巡视方案 骑士在一张 n x n 的棋盘上巡视。在 **有效 **的巡视方案中&#xff0c;骑士会从棋盘的 左上角 出发&#xff0c;并且访问棋盘上的每个格子 恰好一次 。 给你一个 n x n 的整数矩阵 grid &#xff0c;由范围 [0, n * n - 1] 内的不同整数组成&…

超神级!Markdown最详细教程,程序员的福音

超神级&#xff01;Markdown最详细教程&#xff0c;程序员的福音Markdown最详细教程&#xff0c;关于Markdown的语法和使用就先讲到这里&#xff0c;如果喜欢&#xff0c;请关注“IT技术馆”。馆长会更新​最实用的技术&#xff01;https://mp.weixin.qq.com/s/fNzhLFyYRd3skG-…

linux环境编程基础学习

Shell编程&#xff1a; 相对的chmod -x xx.sh可以移除权限 想获取变量的值要掏点dollar&#xff08;&#xff04;&#xff09; 多位的话要加个花括号 运算&#xff1a;expr 运算时左右两边必须要加空格 *号多个含义必须加转义符 双引号可以加反单&#xff0c;但是发过来就不行 …

containerd手动配置容器网络

containerd手动配置容器网络 机器详情nerdctl启动一个不带网络的容器获取容器ID、PID与network namespace路径准备bridge插件的执行配置文件通过下面的命令调用bridge插件准备tuning插件文件执行下面的命令调用tuning插件准备portmap插件文件执行下面的命令调用portmap插件删除…

算法竞赛数论杂题

menji 和 gcd 题目&#xff1a; 一开始以为是只有l不确定&#xff0c;r是确定的&#xff0c;这样的话我们可以枚举r的所有约数&#xff0c;然后对其每个约数x进行判断&#xff0c;判断是否满足题意&#xff0c;具体做法是先让l % x如果 0则该约数可行&#xff0c;如果不可行…

文件扫描工具都有哪些?职场大佬都在用的文本提取工具大盘点~

回想起刚毕业初入职场那阵子&#xff0c;领导让帮忙把纸质文件扫描提取为文本时&#xff0c;还只会傻乎乎地一点点操作&#xff0c;属实是费劲得很&#xff01; 好在后面受朋友安利&#xff0c;找到了4个能够快速实现文件扫描文字提取的方法&#xff0c;这才让我的办公效率蹭蹭…

[SCAU 课程设计参考] 活动管理程序

(仅供参考!!!!!!) 废话不多说&#xff0c;直接上代码&#xff01;(但是量有点多&#xff0c;放前面影响观感&#xff0c;所以还是先不放了&#xff0c;文章末尾有链接) 题目的要求: 提要:我的设计只是一个参考&#xff0c;当时还是大一的时候写的&#xff0c;代码比较青涩&a…

[学习笔记]-MyBatis-Plus简介

简介 Mybatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 简言之就是对单表的增删改查有了很好的封装。基本不用再单独写sql语句了。目前此类…

微博舆情分析系统可以继续完善的基于python 前端vue

微博舆情分析系统可以继续完善的&#xff0c;前后端分离&#xff0c;前端基于vue 后端基于python的flask可以说是非常的简洁&#xff0c;支持实时更新数据。界面如图 主要工作点体现在后端实时更新数据跟数据的处理方面上&#xff0c;后续有空会用hadoop来处理海量数据真…