找不到EmguCV DLL异常-无法找到cvextern?

时间:2018-12-04 03:06:18

标签: c# .net opencv emgucv

首先,这不是在SO和网络中问到的另一个Emgu CV DLL盲目问题。我已经研究了这个问题,找不到解决方法。

我已将我在一个项目中使用的EmguCV版本更新为最新版本(3.4.3)。在Dev Machine和Windows 10计算机上,一切正常运行,但是对于Windows 7 X64 Spack1 EmguCv抛出永无止境的DLL not found Exception。 我在使用旧版本时遇到了这个问题,该旧版本通过安装 Visual Studio Redistributable 而消失了。当前版本似乎使用Visual C ++ 2017 Redistributable,因为有一个DLL EmguDir中的文件(14.0)。我尝试安装2015年的x86版本以及2017年VC Redistributable软件包的x86和x64版本。(我的应用程序是x86)。我还将x86和x64文件夹复制到了应用程序目录中(如果没有这些文件夹,较旧的版本似乎可以正常工作,我只是将x86文件夹的内容复制到了应用程序目录中。)

enter image description here enter image description here

再次发生相同的错误。我被困在这里。请帮忙

 ************** Exception Text **************
    System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

其他DLL(Emgu使用打包程序打包到主exe)。

2 个答案:

答案 0 :(得分:3)

在 Visual Studio 2019 中使用 Nuget 包管理器进行安装 工具> NuGet 包管理器 > 包管理器控制台

并安装这个

  • 安装包 Emgu.CV
  • 安装包 Emgu.CV.runtime.windows

对我来说一切都很好。

答案 1 :(得分:0)

我也有同样的问题。在这个论坛emgucv上,我不知道为什么来自emgucv 3.4.3的cvextern.dll无法加载cvextern(因为无法找到cvextern),并且您允许使用来自以下位置的文件cvextern.dll emgucv 3.4.2(确保选择x64 / x86),复制到/bin/Debug,并在Visual Studio中完成构建程序后,在/bin/Debug/x86/bin/Debug/x64中自动找到此文件。

希望获得帮助。