包含OpenCV开源库的程序打包发行需知

在图像处理方面,博士生、研究生或者其他一些研究人员可能闭着眼睛就会说出MATLAB。而如果要把图像处理当成是一个模块集成到一个相关的工程中,不得不说OpenCV是绝大多数人的选择。网上也有非常多的教程讲如何去配置OpenCV到VS等开发环境,然这并不可以说就已经完成了。软件运行写完是要给别人(别的电脑)运行的,这个时候如果调用到了OpenCV库,则必须是把这些库相应的dll文件包含进去 ,比如程序包括了opencv_calib3d249.lib,则必须把opencv_calib3d249.dll文件复制一份到可执行文件(exe)相同的文件夹下。可以想象如果一个程序只有头文件(.h)而没有执行文件(.cpp)会是怎么样子的,失去dll的lib情况基本是一样的。

做完上面的工作只是完成了一半,因为并不是每个电脑的运行环境都跟自身的电脑一样,有可能另外的电脑缺少你编译OpenCV时加进去编译器里面的库(该电脑没装相应的运行库)。这同样会使得一些电脑在执行exe时弹出缺少dll的错误。解决这个问题其实也很简单,把这个用到的库也复制粘贴到可执行文件exe对应的文件夹即可。以本人VS2013在WIN8.1的路径为例,将 C:Program Files (x86)Microsoft Visual Studio 12.0VC edistx86Microsoft.VC120.CRT 路径下的三个dll文件(msvcp120.dll,msvcr120.dll,vccorlib120.dll)复制粘贴就OK了!该程序到此就能在正常的电脑成功运行了!

另:万分感谢百度知道,自己也被这个问题拖了好久,昨晚偶然间看到一个大神相关的回答恍然大悟,项目就这样结项了!


原文地址:https://www.cnblogs.com/weixinhum/p/3916671.html