OpenCV程序无法在另一台计算机上运行

时间:2016-04-01 13:46:45

标签: c# c++ opencv

我下载了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不存在,如何让我的程序在任何计算机上运行?

1 个答案:

答案 0 :(得分:0)

当您创建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中。这种情况不太常见,因此可能需要更多努力,但您可以通过自己喜欢的搜索引擎找到一些有关如何执行此操作的良好资源。