peng-zhihui / ElectronBot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample.exe 缺失dll 以及 0xc000007b 报错解决方法

mcu666 opened this issue · comments

Sample.exe在部分系统会报缺失dll,一般可通过网上自行下载缺失的dll即可解决,然而由于dll版本不同等问题,会引起 0xc000007b 报错。下面是部分缺失的dll文件,解压后放到Sample.exe目录下即可,本方法已经在win10以及两个装有win10的虚拟机环境下测试成功
image
Sample.exe缺失的部分dll.zip
,如果还报错可尝试安装VS的依赖库,安装包如下,自行选择x64还是x86
VC_redist x64.zip
VC_redist x86.zip
感谢@regestday提供的思路

感谢总结,我把这个issue pin到主页了

Sample.exe在部分系统会报缺失dll,一般可通过网上自行下载缺失的dll即可解决,然而由于dll版本不同等问题,会引起 0xc000007b 报错。下面是部分缺失的dll文件,解压后放到Sample.exe目录下即可,本方法已经在win10以及两个装有win10的虚拟机环境下测试成功 image Sample.exe缺失的部分dll.zip ,如果还报错可尝试安装VS的依赖库,安装包如下,自行选择x64还是x86 VC_redist x64.zip VC_redist x86.zip 感谢@regestday提供的思路

你搞到哪一步了?我卡在unity上位机这里4天了。尝试了各种办法死活没办法和MCU通上 自己也编译了 没反映 SDK测试功能都正常。再搞都要开始PE分析DLL是否加载了

所有用到的DLL都要放到Asset的Plugin文件夹,而且不能修改名称

直接运行我编译好的Studio没问题吗?

直接运行我编译好的Studio没问题吗?

直接运行 没用我还尝试了自己编译并且更换了4个版本的unity摄像头也没反应 杀毒也关了 相机隐私也打开了 DX11也尝试装了 也是管理员权限运行。每天干到2点大佬快顶不住了目前就看到一个B站兄弟成功,QQ咨询过他 他也很晕他和我的区别是 042芯片和固件 他的unity版本我也试了

所有用到的DLL都要放到Asset的Plugin文件夹,而且不能修改名称

名称没有改动过,希望大佬重视一下上位机这里,Q群里很多人还卡在硬件部分舵机部分

直接运行我编译好的Studio没问题吗?

Win10开始有隐私权限请求了,windows下我没试过,mac下用这个可以请求摄像头权限

    IEnumerator OpenCamera() { 
        yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
        if (Application.HasUserAuthorization(UserAuthorization.WebCam))
        {
            Debug.Log("Camera Authorized");
        }
    }

大佬,具体代码加在哪里呢,不太了解unity

SDK没问题的话,Studio应该是直接打开就能用的,底层通信接口都是LowLevel库,确认是先插机器人再打开软件,然后6个舵机都要能正常工作才行,另外机器人上的摄像头要可用或者电脑上至少要有一个摄像头

SDK没问题的话,Studio应该是直接打开就能用的,底层通信接口都是LowLevel库,确认是先插机器人再打开软件,然后6个舵机都要能正常工作才行,另外机器人上的摄像头要可用或者电脑上至少要有一个摄像头

我们用底层您给出得 sample程序跑过: 直接调用lowlevel->setjointangles 和 getjointangles 可以让舵机转一下(但,也就是一下,用自己写得90度往复转动固件 6个都可以同时跑),也可以抓回数据包。 不知是不是舵机调试得问题? 是不是需要每个舵机PID参数和扭矩参数全部调好才行? 另外,摄像头一直是焊在sensorboard上,用自己改过得sample直接摄像头投屏没问题得,同时在sample上也实现了 摄像头投屏和舵机转一下得操作。呵呵,尴尬,也就一下。

不需要,能通信就没问题,确认Studio里面右上角的开关打到模型优先了?

不需要,能通信就没问题,确认Studio里面右上角的开关打到模型优先了?

三个开关挨个都实验过,就是不行

这些都能确认的,反复试验了,很诡异的问题,刚又有个群友完成到这步,也卡在这里了,唯一他还能开摄像头,Unity USBLIB估计也是连不上,甚至我们也考虑是否权限问题,unity版本问题,杀毒软件拦截问题等等排查过

不需要,能通信就没问题,确认Studio里面右上角的开关打到模型优先了?
会不会和opencv 版本或编译环境有关

QQ图片20220415160603

根据这个问题 我做了以下两次调试,

  1. 在51行处下断点,然后全速运行主板固件。程序会在47行中的 electron.ReceiveUsbPacketUntilSizeIs(224); 中等待,然后可以运行 SDK列程 后成功在 51行中断。
  2. 我在51行处下断点,然后全速运行主板固件。程序会在47行中的 electron.ReceiveUsbPacketUntilSizeIs(224); 中等待,然后运行unity上位机程序,打到模型优先,然后进行一些操作,主控固件程序无法成功中断。

可以打开Unity工程的话,再Unity编辑器里运行软件,看看Log有没有打印DLL加载错误相关的提示,可以把log贴出来

B})2W6TE@A1(PYX8LBMHP94
小插曲:我今天是换了电脑系统测试了,想排查一下问题 所以换了台win7系统的电脑,关键是换了这台电脑后就又出现老问题识别出两个设备,相关代码也改的了,在家里时候win10系统没有这个问题。上图是相关设备描述符

以下是build and run的log 看了一下都是字体文件我没加载报出的警告.
JBJ0V~FD9{RD9H7N9$KXQ

识别两个设备的问题已经修复了,拉取最新仓库

拉取了的 win10系统下没问题 我这里win7还是两个,现在unity打开run后 摄像头也是没有显示的,第三方工具能正常显示(如QQ)

识别两个设备的问题已经修复了,拉取最新仓库

那得自己在Unity侧调试一下看看有没有正常连接设备和收发数据了,照理说你可以完全不连接机器人,直接打开软件,如果电脑上有其他摄像头的话也是会显示画面的;另外确保Assets/Plugin里面的相关DLL都是你在SDK里面用到的同样的文件,可以直接替换进去

那得自己在Unity侧调试一下看看有没有正常连接设备和收发数据了,照理说你可以完全不连接机器人,直接打开软件,如果电脑上有其他摄像头的话也是会显示画面的;另外确保Assets/Plugin里面的相关DLL都是你在SDK里面用到的同样的文件,可以直接替换进去

image
大佬,我调试运行UNITY ,显示 dll 加载失败,无论是原版DLL还是自己编译dll均报错。

MFFDW$4 ~`W3KBG(_5FSI4O
我点运行这个 就出来错误信息
$5N$HS_XYCEYSRO17HPTK 8
build and run则没出现错误信息

那就是缺DLL了,UnityBridge那个DLL我仓库是提供了源码的,可以编译好后放到Plugin里面

我想编译一下sample.exe,Clion提示:无法打开文件“opencv_core348d.lib”;大家帮忙看看,谢谢!
MSVC2019社区版,Clion正常工作。