【问题标题】:OpenCV Program does not work on another computerOpenCV 程序无法在另一台计算机上运行
【发布时间】:2016-04-01 13:46:44
【问题描述】:

我下载了opencv-2.4.9.exe并打开了D:\opencv目录。

之后,我使用 Visual Studio 2013 编写了一个 OpenCV 库以及一个包装 DLL。我在 C# Windows 应用程序中使用了这个包装 DLL。它在我的电脑上完美运行。但是当我在另一台计算机上复制并运行它时,它给了我一个错误。该错误表明它找不到 OpenCV DLL。

以下是我使用的来源:

https://marcomuraresearch.wordpress.com/2015/04/16/install-opencv-visual-studio/comment-page-1/#comment-181

https://drthitirat.wordpress.com/2013/06/06/use-opencv-c-codes-in-a-vc-project-solution-of-creating-a-managed-clr-wrapper/

即使 OpenCV 不存在,如何让我的程序在任何计算机上运行?

【问题讨论】:

  • 您是否同时带来了包装 DLL 和 OpenCV DLL?

标签: c# c++ opencv


【解决方案1】:

当您制作 DLL 包装器时,您可以通过两种方式进行:您可以选择链接 OpenCV DLL 或将 OpenCV 作为静态库编译到您的 DLL 中。假设您当前正在链接 OpenCV DLL,这意味着您的 DLL 包装器在加载时正在寻找 OpenCV DLL,以便它可以执行来自这些 DLL 的代码。如果您的系统上安装了 OpenCV,则您的操作系统路径中可能有 OpenCV DLL,因此它可以在您的计算机上找到 OpenCV DLL。当您转到另一台计算机时,这可能会失败。你有两个选择。

  1. 将您的 DLL 与 OpenCV DLL 一起分发。 (您不需要在该计算机上安装任何额外的东西,只需确保所有 DLL 都在可执行文件的目录中)。
  2. 将 OpenCV 作为静态库编译到您的 DLL 包装项目中,以便所有相关的可执行 OpenCV 代码都包含在您的 DLL 中。这种做法不太常见,因此可能需要更多的努力,但您可能可以通过您最喜欢的搜索引擎找到一些很好的资源来了解如何做到这一点。

【讨论】:

  • 感谢您尝试将我的 DLL 与 OpenCV DLL 一起分发,它解决了问题。
猜你喜欢
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多