如何生成能在没有安装opencv库及vs2015环境的电脑上运行的exe文件,移植到客户电脑上执行程序(其他win7/win10系统上),运行失败。

寻找各种解决办法,baidu找到两个办法

  1. 使用静态链接的方法,这种生成的exe太大​​(需要编译静态库,链接)​​。
  2. 将对应需要的dll拷贝到exe的执行目录下,这种虽然文件多,但是易操作,选择。

我的环境windows10 + Visual Studio 2019 + opencv4.5.2,各种基本的配置省略

  1. 打开项目配置页->c/c+±>代码生成->运行库,设置成多线程调试DLL(/MD)(release版的程序选择MD,这一步是为了添加程序运行需要的运行库)
  2. Ctrl+F5生成exe,然后把对应的dll库拷贝到exe的文件夹下面。将此文件夹作为一个整体发送给甲方。(具体需要拷贝哪些dll库可以使用visual studio的dependents查看,方法如下)qt程序使用qt自带的windeployqt.exe进行打包

使用dependents查看exe所需要的dll库

3. 开始->所有程序->Microsoft Visual Studio 2019 ->Developer Command Prompt for VS 2019

4. cd到exe所在根目录下,输入dumpbin /dependents XXX.exe,就会有如图所示结果。

生成独立运行opencv开发的exe程序_f5


使用everything.exe查找上述依赖文件并复制到exe文件所在目录下。

我的不需要执行复制opencv_ffmpeg
(添加opencvdll库和其他dll库(SysWOW64文件夹),除此还需额外添加opencv_ffmpeg247.dll,不然总提示读取视频失败。下面的几个DLL文件在上面步骤一修改运行时库就已经添加了。)