【问题标题】:Confusion with emgu.cv x86 folder与 emgu.cv x86 文件夹混淆
【发布时间】:2017-03-15 11:49:22
【问题描述】:

我开发了一个使用 emgucv 进行人脸检测的 c# 应用程序。根据 emgucv 文档文件夹“x86”或“x64”(取决于运行应用程序的平台)需要与执行 exe 保持并行。所以我做了相应的操作并运行了项目,应用程序在我的机器上运行良好。

如果我将这个 c# 应用程序连同所有依赖的 dll 和“x86”文件夹一起发布并复制到 Windows 7 机器上,在执行应用程序后我会收到错误 Unable to load DLL 'cvextern' : The specified module could not be found. (Exception from HRESULT: 0x8007007E)

这是我试图解决的错误: 我将所有 DLL 从文件夹“x86”复制到执行文件夹(即外部到 x86 文件夹),现在应用程序运行没有任何错误。

所以我很困惑是否将 x86 文件夹保留在执行文件夹或 x86 文件夹的内容中。根据我的观察,两者都有效,但有什么建议?

【问题讨论】:

标签: c# c#-4.0 emgucv


【解决方案1】:

cvextern.dll 文件通常位于以下文件夹中:

project_folder\bin\x86\Debug\x86 项目文件夹\bin\x86\Debug\x64

x64 版本也是如此:

project_folder\bin\x64\Debug\x64 项目文件夹\bin\x64\Debug\x64

该文件夹还可以包含其他文件,例如opencv_ffmpeg310.dllEmgu.CV.World.dll 和类似的 DLL 位于 Debug/Release 文件夹(上一个文件夹)。

【讨论】:

    【解决方案2】:

    不确定您使用的是哪个版本的 EmguCV,我使用的是 3.2,所以一切都是为 x64 构建的。当我分发我的应用程序时,我在 exe 所在的文件夹中创建了一个 x64 文件夹。在这个 x64 文件夹中,我放置了 EmguCV 发行版中的所有 DLL。在我的机器上,EmguCV 位于: D:\Emgu\emgucv-windesktop_x64-cuda-tbb-ipp-icc 3.2.0.2682

    所以我从 bin\x64 文件夹中将所有内容复制到应用程序 exe 所在的位置。

    道格

    【讨论】:

    • EmguCV 放弃了对 x86 的支持?没有 bin\x86 文件夹了。
    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多