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

时间:2024-03-21 14:09:45

 

前言:如果在电脑vs编写的程序生成的exe需要在其他没有安装环境的电脑运行的话,需要在exe所在的目录下添加所需要的dll,即动态链接库。

步骤一:在VS中生成exe可执行文件,exe生成路径如果是64位则是在x64文件夹中,具体看发布的版本是debug还是release选择对应文件夹就会有了。32位同理。

 

步骤二:生成QT所需要的dll(动态链接库库)

1、将生成的exe文件单独放在一个目录

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

 

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

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

 

pause

 

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

 

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

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

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

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

 

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

                                                                                 (添加qt的dll中)

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

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

步骤三:添加opencv和vs所需要的dll,本方法适用于查看exe需要添加的dll(自己知道的话自己添加就可以了)

1、打开vs的命令提示符,在window搜索框收vs就有了

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

 

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

 

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

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

 

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

 

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

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

 

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

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

#完

坑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打包:下载链接

结合上面两种方式: