0

我尝试在 Windows 8 Store App 中使用EmguCV库。以前,它适用于 Windows 7 桌面应用程序项目。

我确保我的 Windows 8 Store App 项目目录 [ C:\Projects\App2\App2\bin\Debug ] 包含所有必要的 DLL 文件。

在此处输入图像描述

当我通过本地机器按钮直接在Microsoft Visual Studio 2012 Ultimate中执行时 ,出现以下异常。

在此处输入图像描述

异常:抛出:“无法加载 DLL 'opencv_core240':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)”(System.DllNotFoundException)抛出 System.DllNotFoundException:“无法加载 DLL 'opencv_core240':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)“

我的问题是:我如何知道失败是否是由于我的 Windows 8 Store App无法找到 DLL 文件造成的?或者,找到的 DLL 文件不是Windows 8 Store App所期望的格式?(这些 DLL 适用于 Windows 7 桌面软件)

如果原因是由于 Windows 8 Store App 无法识别格式,请在Windows Store ->下重新编译整个 DLL 项目(OpenCV 源代码是 C++,而充当包装器的 EmguCV 是 C#)类库(Windows 应用商店应用程序)会有帮助吗?

4

2 回答 2

1

如果这些 dll 适用于 Windows 7 桌面应用程序,那么它们将不适用于 Windows 8 Metro 应用程序,因为它是完全不同的平台和 API。您不能在 Windows 8 WinRT 项目中只加载任何 dll。

如果您有 dll 的源代码,您可以尝试将其重新编译为 Windows 运行时组件,但很有可能原始代码使用了 WinRT 中不可用的 API。

于 2012-10-11T07:27:56.503 回答
0

查看以下两篇文章,了解如何使 OpenCV 或其他 3rd 方库与 Windows 8 应用商店应用程序一起工作:

在带有 Visual C++ 的 Windows 应用商店应用程序中使用 OpenCV

在 Windows 8 应用商店应用程序(使用 Visual C++ 2012 构建)中使用 C++ 库(使用 Visual C++ 2010 构建)

于 2012-12-30T07:00:31.583 回答