首页 文章

在Unity上使用EmguCV的DllNotFoundException

提问于
浏览
0

我试图在Unity Pro上使用EmguCV的Capture类,但每当我调用它的构造函数时,我都会遇到以下错误:

DllNotFoundException:opencv_core249 Emgu.CV.CvInvoke..cctor()Rethrow as TypeInitializationException:Emgu.CV.CvInvoke的类型初始值设定项引发了异常Emgu.CV.Capture..ctor(Int32 camIndex)

我已经阅读了解决Visual Studio上的问题,例如,您只需将opencv_coreXXX和opencv_highguiXXX复制并粘贴到输出文件夹,但此解决方案似乎不适用于Unity .

问题是Unity正在搜索正确的文件夹(我放置所有EmguCV dll的输出文件夹),但似乎没有找到dll .

要在Unity中安装EmguCV,我只是按照以下链接执行此人所描述的步骤:http://forum.unity3d.com/threads/182600-OpenCV-(EMGUCV-wrapper)-integration-in-Unity

1 回答

  • 1

    如果您使用dll作为插件,它应该在Assets / Plugins文件夹中 . 如果该插件需要其他dll,则它们应该位于项目文件夹的根目录中(或者在Unity安装文件夹的Editor-folder中) . 如果构建了应用程序,那么自然应该使dll可用,例如将它们添加到与可执行文件相同的文件夹中 .

    您可以尝试使用Dependency Walker跟踪异常 .

    此外,当插件需要highgui.dll时,我在Windows 8中遇到过类似的问题 . 一旦删除,没有例外(我从未真正发现问题是什么) .

相关问题