要使VS编译生成的exe文件能脱离我们的OpenCV-VS开发环境单独运行,关键是找到其运行所需要的依赖DLL文件。

怎么知道其运行时需要哪些依赖DLL文件?

使用工具“Dependencies”即可查看,这个工具的百度网盘下载链接:

链接:https://pan.baidu.com/s/15t3QKhvQf5SXEFA5X-f7rQ  提取码:f591 

这个工具的GitHub地址:https://github.com/lucasg/Dependencies

下载解压后找到 DependenciesGui.exe 打开软件。

opencv应用程序无法正常启动0xc000007b opencv.exe_OpenCV

 接着打开自己需要分析的exe文件。

opencv应用程序无法正常启动0xc000007b opencv.exe_ci_02

 

opencv应用程序无法正常启动0xc000007b opencv.exe_开发环境_03

打开之后便可看到该exe文件运行时所需要的依赖DLL文件了,如下图所示:

opencv应用程序无法正常启动0xc000007b opencv.exe_ci_04

上面截图中画红线的便是其运行时需要的依赖DLL文件。并且该软件还为我们指明了这些依赖DLL文件的路径,我们根据路径依次复制到exe文件所在的文件中。再把该exe所在的文件夹复制到没有安装OpenCV-VS开发环境中的系统中,即可正常运行由VS生成的exe文件了。

在另一台没有配置OpenCV-VS开发环境的电脑上,没有这些依赖DLL文件时的情况如下图所示:

opencv应用程序无法正常启动0xc000007b opencv.exe_开发环境_05

 

opencv应用程序无法正常启动0xc000007b opencv.exe_OpenCV_06

 在另一台没有配置OpenCV-VS开发环境的电脑上,有这些依赖DLL文件时的情况如下图所示:

opencv应用程序无法正常启动0xc000007b opencv.exe_ci_07

opencv应用程序无法正常启动0xc000007b opencv.exe_OpenCV_08

我把上面这个可独立运行的exe所在文件夹及相关文件打包,提供下载地址给大家,大家可以下载下来试一下,百度网盘下载链接:https://pan.baidu.com/s/13eVLj17OA-VMiBhnZAPX2Q 提取码:7l49 
 

Tips:

①上面的MSVCR110D和MSVCP110D是微软Visual Studio的重要的dll文件,不仅在系统文件夹下“C:\Windows\SysWOW64”有,在VS的安装文件夹下也有,直接搜索VS的文件夹即可找到,如下面的截图所示。博主在这里建议大家使用VS安装文件夹中的这些DLL文件,以达到最大兼容性。

opencv应用程序无法正常启动0xc000007b opencv.exe_开发环境_09

②exe文件执行时调用依赖文件首先是看其所在的文件夹下有没有相应的DLL文件,然后再按照DLL文件所在的路径去找寻,所以我们把DLL文件复制到其所在文件夹下后exe文件可正常运行。