码迷,mamicode.com
首页 > 其他好文 > 详细

Qt的exe放到其他电脑上无法运行问题

时间:2020-12-17 12:04:02      阅读:2      评论:0      收藏:0      [点我收藏+]

标签:proc   pac   qt5   程序   成功   没有   工具   src   开发环境   

我的电脑配置:win10
开发环境:VS2019+Qt5.14.2
问题:程序开发完成后将debug下的.exe发给其他同事使用,回复说“找不到VCRUNTIME140.dll……”问题
网上找了下解决该问题的办法,很多,最终选了下面的方法:
方法三:选择静态编译。项目属性-配置属性-C/C+±代码生成-运行库-多线程调试(/MTd)。(解决问题)。
这样是设置为静态编译,让dll写进exe内,没有外部库也可以运行
静态编译在程序编译时dll会被连接到目标代码中,程序运行时将不再需要该静态库。
动态编译在程序编译时dll并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
vs默认为动态编译
自己将该exe放到未装qt电脑上测试,仍不行报Qt5Widgetsd.dll等错误,试试网上说的用发布版本release版本测试仍不行,后将缺失的dll全放到.exe下,不报dll错误,却报技术图片

然后网上查了很多方法,大多是将.exe拷到新的文件夹下,然后在“开始”菜单下找Qt运行Qt XX for Desktop或运行Qt XX(MinGw XX 32/64-bit),但在自己电脑上始终找不到这两个文件,在想是不是安装时没选择安装,正在考虑要不要重新装时,搜到一篇是用Qt xx 64-bit for Desktop(MSVC 2013),然后试试自己电脑上的 Qt 5.14.2 (MSVC 2017 32-bit),结果可以。在想是不是每个版本对这个功能的名称不一样^^
现将解决方法记录如下:
1、打开Qt 5.14.2(MSVC 2017 32-bit)
2、进入.exe所在路径(我将生成的.exe放到新建文件夹workspace下)
3、直接输入windeployqt XX.exe,回车即可(windeployqt是QT提供的工具可以直接搜索拷贝需要的dll,该文件在安装目录的bin文件下)
如下:
技术图片
运行完成后,会发现新文件夹下多了很多文件夹和dll
技术图片

之后网上下载传送手Enigma Virtual Box
技术图片

Browse…选择需要打包的exe,下面为打包完成之后的名称,再将其他拷贝过来的所有文件拉到Files下,process即可。将新打包成的exe放到其他未装QT电脑上即可运行成功

Qt的exe放到其他电脑上无法运行问题

标签:proc   pac   qt5   程序   成功   没有   工具   src   开发环境   

原文地址:https://www.cnblogs.com/diena/p/14122136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!