c#无法加载 DLL“cvextern”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

博客讲述了在使用Emgu.CV库时遇到的一个客户问题,即在64位系统上无法加载DLL“cvextern”。错误日志首先提示找不到指定模块,尝试复制DLL文件后,错误变为找不到“cveRedirectError”入口点。最终通过修改VS项目设置,将平台目标从AnyCPU改为不首选32位,解决了客户的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个项目需要用到Emgu.CV,生成软件给客户运行有一段时间了挺稳定,但是突然有个客户(x64位系统)反馈不能用,查看错误日志,日志输出的内容是:

无法加载 DLL“cvextern”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

一般这个错误指的是c#调用c++类库,在项目文件夹中没有找到c++类库,尝试将C:\Emgu\emgucv-windows-universal-cuda 2.4.10.1940\bin\x64里面所有dll文件拷贝过去,还是不行,但是这次报的问题就不一样了,打开错误日志:

无法在 DLL“cvextern”中找到名为“cveRedirectError”的入口点。

因为大多数客户电脑都能用为什么就这个不行呢?一时间没有头绪,在无意中打开vs项目属性–>生成 我的平台目标是Any CPU,底下勾选这首选32位,于是我清理解决方案,将首选32取消勾选,抱着尝试的心态发给客户,居然成功解决问题了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值