Closed Binwww closed 3 years ago
你创建一个空的 Qt Gui 项目,测试能否运行成功?
应用程序无法正常启动0xc000007b原因
在开始分享应用程序无法正常启动0xc000007b解决办法之前,我们先来了解下出现这种问题的原因,这里小编总结了一下,造成应用程序无法正常启动0xc000007b的原因,一共有以下三种可能:
1、电脑没有安装DirectX9或者DirectX 9.0 组件损坏;
2、电脑没有安装Microsoft Visual C++
3、电脑上没有安装.net
DirectX9以及.net我不是很清楚,我电脑上是有Microsoft Visual C++的. 在两个月前,我在Visual Studio 2019上,使用Qt+C++编了一个图像处理的小程序,当时是可以运行的,但是我当时并没有尝试打包的操作。 在多次打包本项目失败后,我尝试打包了Qt的自带例程Chart Themes Example,这个打包成功了,打包后的文件在没有QT的电脑上成功运行了。 但是本项目我还是没有成功,在查询了一些解决方案后,我将QT的环境变量放在了我的环境变量的第一个,奇迹出现了,在QT中release后的文件夹中,生成的exe文件我直接双击,就可以运行,而且我无论将这个exe文件单独放到哪里,他居然都可以运行!但是同时也出现了一个最让我疑惑不解的问题:
我将QT的环境变量放在了我的环境变量的第一个,奇迹出现了,在QT中release后的文件夹中,生成的exe文件我直接双击,就可以运行,而且我无论将这个exe文件单独放到哪里,他居然都可以运行!但是同时也出现了一个最让我疑惑不解的问题:
是会有查找依赖的路径的优先顺序的,大致顺序类似于linux,
Qt Path 放在第一个回优先找到,并且被系统使用,就不再往后寻找了。
而本项目打包后的文件夹复制到其他没有QT的电脑,它提示没有找到什么动态依赖。搞了好久,快崩溃了!
可以的对比下按之前的https://blog.csdn.net/qq_33154343/article/details/96448388, 看看和你有什么不一样的步骤?
可以虚拟机安装一个win10镜像,将 windeployqt 进行打包后,丢进去运行试试看,提示缺少什么就复制什么 *.dll; 看看 depends.exe 工具也可会显示缺少了哪些依赖库。
--------------->
正确解决:坑爹的0xc000007b——应用程序无法正常启动
(1)根本原因是缺乏所需要的 DLL,提供了错误版本的 dll 相当于没有 DLL, 提示完全一样。
(2)网上有人说缺乏 dx 运行环境,如果属实,也是因为缺乏 dx 相关的 dll。
(3)与程序是 32 还是 64 位没有直接关系,但是与你的程序对应不上的 dll 版本,往往很难发现问题,要引起注意。
(4)生成的 debug 目录下,运行 exe 文件报改错,将缺少的 dll 文件添加进来即可解决,例如 opencv_world411d.dll。
提示为:应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。 自己瞎搞了半天,还是没有解决问题,请问有什么解决办法吗?