在班级库中使用Open CV

本文关键字:Open CV | 更新日期: 2023-09-27 18:09:51

我在c#中使用我自己的dll文件创建应用程序。

我想创建使用Open CV的类库。我必须添加参考项目- Emgu.CV.dll和Emgu.Util。这是可以的,但OpenCV还需要额外的dll文件,例如"opencv_calib3d231.dll"等。当我想使用OpenCV运行一些项目时,它们必须在调试文件夹中。

但是如果我想在我自己的类库中使用OpenCv呢?我应该把这些额外的dll文件放在哪里?

你知道怎么解决这个问题吗?

在班级库中使用Open CV

不能单独执行类库:最终,类库总是(间接)被某些可执行程序使用。您必须确保您的类库的依赖关系可以通过所述可执行文件找到,例如通过将它们放在可执行文件所在的目录中。

所以,如果你有一个可执行项目(项目A)和一个类库(项目B),可执行项目使用的本地依赖项,如opencv_calib3d231.dll,它足以确保本地依赖项在运行时在项目A的目录。

如果你正在开发的类库将被其他开发人员在他们的程序中使用,你应该将你的类库的依赖关系与库一起发布(或者至少在你的文档中提供如何获得依赖关系的说明)。然后,它们可以确保操作系统在加载类库时可以找到依赖项。