-1

我在 x64 中使用 emgu CV 制作了 ac# 项目。它进行模板匹配。但是我现在意识到我需要它在 x86 系统上工作。当我在构建设置中更改此设置时,我收到此错误:

Emgu.CV.dll 中发生了“System.TypeInitializationException”类型的未处理异常附加信息:“Emgu.CV.CvInvoke”的类型初始化程序引发了异常。

我打破了它,问题出在这一行:

Image<Bgr, byte> template = new Image<Bgr, byte>(imagetofind);

我不知道为什么。(它在 x64 上完美运行)。

PS我已经为x64正确设置了所有dll,我需要用x86 dll替换它们吗?

4

1 回答 1

1

PS我已经为x64正确设置了所有dll,我需要用x86 dll替换它们吗?

是的你是。dll 架构必须与应用程序架构相匹配。我有完全相同的错误,因为我认为我使用的是 x64,并复制了 x64 dll。但是,该应用程序实际上是 x86。我通过制作应用程序 x64 来解决这个问题。

因此,要么制作一个 x64 应用程序来使用 x64 dll,要么使用 x86 dll。

另请参见此处:http ://www.emgu.com/wiki/index.php/Download_And_Installation#The_type_initializer_for_.27Emgu.CV.CvInvoke.27_threw_an_exception 。

于 2013-05-12T15:05:08.980 回答