打包 OpenCV DLL 以分发C++ DLL

Package OpenCV Dll to distribute C++ DLL

本文关键字:DLL C++ OpenCV 打包      更新时间:2023-10-16

我在Visual Studio 2017上创建了一个带有C包装器的C++DLL,并且正在使用OpenCV库。我在计算机上安装了OpenCV,在我的项目中添加了.lib.dll文件的路径,这样我就可以在其他程序中使用我的DLL。确切地说,我现在在文件夹C:opencv...上有OpenCV,在C:MGDLLMyDll.sln上有我的Visual Studio解决方案。

但是,为了在另一台计算机上使用它,我将无法安装OpenCV所以我必须找到如何打包OpenCV库以使用我的.dll文件分发正确的文件。也许我只需要将OpenCV.dll文件复制到我的DLL的同一文件夹中?

我不知道如何处理这个问题,因为在互联网上我看到有些人在谈论例如CMake,其他人包括项目中的一些文件,......

此外,我尝试使用一个软件来模拟这一点,我可以在其中添加一个使用我的C++ DLL 的 C# 插件。在这种情况下,我重命名OpenCV文件夹以确保与此文件夹的链接已断开。如果我复制OpenCV.dll文件,重命名OpenCV的安装文件夹后,插件不再起作用。

提前感谢您分享您的经验/知识;)

您需要做的就是将所需的 OpenCV DLL 文件复制到您的可执行文件中

也许我只是必须将OpenCV的.dll文件复制到DLL的同一文件夹中?

是的,这正是您需要做的。您甚至可以在开发环境中检查要链接到哪些 DLL,这些 DLL 是要复制的 DLL

如何在Visual Studio 2010中部署基于OpenCV的独立项目?

我解决了我的问题。

复制.dll文件是不够的。我需要将我的 DLL 与软件一起使用的文件夹添加到 PATH 环境变量中。

下一步,对我的 Python 程序做同样的事情,当我重命名安装文件夹时无法识别 openCV dll。