前言:如果在电脑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打包:下载链接
结合上面两种方式: