qt打包好的程序在新电脑运行

编译环境为Qt 5.12 MSVC2015 64bit
打包后的程序在自己电脑可以正常运行
放到新电脑,没装VS2015,运行不了
怎么在不安装VS的情况下,运行软件

这跟VS有什么关系
你运行不了是因为没有对应的类库
你到底引用了什么dll,还是什么api
你要么确保运行的电脑也有一样的环境
要么把环境文件放到你自己程序的目录里
否则缺dll能运行才怪

问题电脑安装vc2015-2022运行库,或者打包集成api开头以及包含140字符串的dll(具体可以参考depends.exe或第三方进程工具看进程加载模块)。

这种时候就需要借助工具来分析一下,是不是我们还是有一些.dll文件没放进去。首先将工程文件以release模式编译,然后打开编译路径下的.exe,让它运行起来,然后使用Process Explorer软件来看对着我发布生成的文件对比是不是少了哪个组件,少了就从相应的路径找到它复制到我们的目标文件或电脑上就可以。
​ 需要对软件做以下简单配置,才能看到.dll列表。

img


下来就找到你的软件双击就可以在底部看到软件运行链接的库有哪些了,系统组件我们不用管,把其他的一些组件在这个列表中有,但我们目标文件下没有的组件复制过去就可以。

img


对比复制完,再运行软件就可以运行起来了。包括数据库驱动不能加载等问题也可以用类似这种方式来查找和解决。如果操作完这些还有问题,那就需要看看是不是用的编译器和系统位数对不上,或者组件位数和目标PC系统位数对不上,比如用了32位编译器或组件,在64位系统上运行,大概率会出错。当然也有可能那台PC上少了哪个运行软件的系统组件,这种就需要慢慢找了。可以使用DependencyWalker查看软件的dll情况。

软件车系统不相配。检查系统和软件板本。

http://t.csdn.cn/we2dq
可以参考这个,找到您的EXE依赖的库文件

windeployqt打包,会将vc_redist.x64.exe一起打包进去,运行一下vc_redist.x64.exe再运行你的程序就可以了。如果没有打包进去,找一个vc_redist.x64.exe放里面即可

在release下编译,不要再debug下