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

3
我下载了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
你把你的包装器DLL和OpenCV DLL都带过来了吗? - RyanP
1个回答

1

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

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

谢谢您尝试将我的DLL与OpenCV DLL一起分发,问题得到了解决。 - SSAVAS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接