打包OpenCV Dll以分发C ++ DLL

时间:2018-06-07 14:43:32

标签: c++ opencv dll software-distribution

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

  

也许我juste必须在我的DLL的同一个文件夹中复制OpenCV的.dll文件?

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

How to deploy a standalone project that is based on OpenCV in Visual Studio 2010?

答案 1 :(得分:0)

我解决了我的问题。

复制.dll文件是不够的。 我需要在PATH环境变量中添加我的DLL与软件所在的文件夹。

下一步,使用我的Python程序执行相同的操作,并且在重命名安装文件夹时不识别openCV dll。