我尝试在Windows 8 Store App中使用EmguCV库。以前,它适用于Windows 7桌面应用程序项目。
我确保我的Windows 8商店应用项目目录[ 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商店应用无法找到DLL文件引起的?或者,Windows 8 Store App中找到的DLL文件不符合预期的格式? (对于Windows 7桌面软件,DLL是可以的)
如果原因是由Windows 8 Store App无法识别的格式引起的,那么重新编译整个DLL项目(OpenCV源代码是用C ++编写的,而EmguCV用作包装器是在C#中)在< em> Windows应用商店 - &gt;类库(Windows应用商店应用)会有帮助吗?
答案 0 :(得分:1)
如果这些dll适用于Windows 7桌面应用程序,那么它们将无法用于Windows 8 Metro应用程序,因为它是完全不同的平台和API。您无法在Windows 8 WinRT项目中加载任何DLL。
如果您有dll的源代码,可以尝试将其重新编译为Windows运行时组件,因为原始代码很可能使用WinRT中不可用的API。
答案 1 :(得分:0)
请查看以下两篇帖子,了解如何使用OpenCV或其他第三方库来使用Windows 8商店应用程序: