qt+opencv+vs15生成的exe打包在其他电脑执行

法一:按照下面方法二做步骤一,步骤二即可添加成功qt和vs所需要的文件。前提是执行.bat文件后若有警告Warnning warning:Cannot find Visual Studio installation directory,VCINSTALLDIR is not set.则需要在系统环境变量里新建VCINSTALLDIR目录,值为F:\VS2015Professial\VC(写你自己的vs路径)。添加成功后的图片。

qt+opencv+vs15生成的exe打包在其他电脑执行_第1张图片
qt+opencv+vs15生成的exe打包在其他电脑执行_第2张图片
添加成功的图片,注意第七行已经没有警告

qt+opencv+vs15生成的exe打包在其他电脑执行_第3张图片
之后添加opencv所需要的文件就行了,一般是一个opencv_world310d.dll文件(Debug模式下的)。

注意::若不提示缺少文件,闪退或者报错***已引用则一定要把图片放到exe所在的目录里,不要放在子文件夹里。生成exe文件时的程序若加载图片一定是相对路径,即在此工程.vcxproj所在的文件夹里,不能是绝对路径从其他地方加载。

法二:

注意::若不提示缺少文件,闪退或者报错***已引用则一定要把图片放到exe所在的目录里,不要放在子文件夹里。生成exe文件时的程序若加载图片一定是相对路径,即在此工程.vcxproj所在的文件夹里,不能是绝对路径从其他地方加载。

坑1、没有通过dumpbin /IMPORTS readFile.exe > output.txt查看我们需要的dll很容易漏需要的dll,但是一般会报错好排除

坑2、添加完qt的dll后程序是可以运行的,但是执行功能会没有反应,卡死或者闪退。这时候没有报错,就需要排查程序的问题了,我忘记加了图片资源导致opencv无法运行。

原文:https://blog.csdn.net/stopping5/article/details/104506782/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242

前言:如果在电脑vs编写的程序生成的exe需要在其他没有安装环境的电脑运行的话,需要在exe所在的目录下添加所需要的dll,即动态链接库。
步骤一:在VS中生成exe可执行文件,exe生成路径如果是64位则是在x64文件夹中,具体看发布的版本是debug还是release选择对应文件夹就会有了。32位同理。

步骤二:生成QT所需要的dll(动态链接库库)
1、将生成的exe文件单独放在一个目录

2、新建一个文本文件txt,添加内容

E:\app\program\QT\5.11.2\msvc2015_64\bin\windeployqt(qt环境变量的位置,不知道的看下图在环境变量查看) readFile.exe(你的exe文件)

pause

                                                                (查看qt安装路径bin目录)

3、将txt文件修改成bat文件,双击运行

                                                                             (添加qt的dll中)



                                                          (添加完成,至此qt的dll已经添加完毕)

步骤三:添加opencv和vs所需要的dll,本方法适用于查看exe需要添加的dll(自己知道的话自己添加就可以了)
1、打开vs的命令提示符,在window搜索框收vs就有了

2、进入我们文件所在的文件夹,在命令行中输入命令:dumpbin /IMPORTS readFile.exe > output.txt

3、打开生成在你文件夹中的output.txt,文本中的dll就是需要我们添加dll了(知道位置的可以自己添加,不知道继续看)

4、下载软件:搜索 Everything 下载地址:https://www.voidtools.com/zh-cn/,根据txt所需要的dll在Everything搜索添加就可以了。一般会搜索到很多个,根据你环境的版本和位数选择。百度云:链接:https://pan.baidu.com/s/1jaC_vgwzGuebt8n343TsfA
提取码:u5kf

5、所有dll添加完毕后,记得将你qt或者opencv所用到的图片资源或者其他资源添加进来。

#完

坑1、没有通过dumpbin /IMPORTS readFile.exe > output.txt查看我们需要的dll很容易漏需要的dll,但是一般会报错好排除

坑2、添加完qt的dll后程序是可以运行的,但是执行功能会没有反应,卡死或者闪退。这时候没有报错,就需要排查程序的问题了,我忘记加了图片资源导致opencv无法运行。

参考链接:1、https://blog.csdn.net/omg_orange/article/details/99624183

               2、https://blog.csdn.net/u013165921/article/details/79404645

               3、我所用的dll打包:下载链接

结合上面两种方式:

你可能感兴趣的:(qt,c++)