【问题解决】应用程序无法正常启动0xc000007b的解决方案(非DX修复)

详细描述

近日在使用Qt+VS编译项目时,发布出去以后别人告知无法运行。

x86版本的软件提示

x64版本的软件提示

 

解决过程

首先没管x64的错误,直接看x86的错误提示,发现是缺少了Qt的运行环境,对应问题在百度搜索一下得到如下解决方案:

使用windeployqt工具来进行Qt的打包发布:https://blog.csdn.net/sinat_36264666/article/details/73305712

因为确实是第一次写Qt项目,而且还是用VS写的,确实没想到光编译出Release版本还不行,还需要使用自带工具打包,然后在机器上使用工具打包以后再次发布,用户反馈x86问题解决,但x64问题还是存在!

为什么呢?我还是根据老思路直接百度查错误为什么出现应用程序无法正常启动0xc000007b,得到的答案依次是:

1.安装DX或修复DX

2.安装C++运行环境

3.安装.NET运行环境

4.软件版本与DLL版本不一致

5.缺少系统相关DLL

6.32位DLL和64位DLL弄混

依次尝试一遍以后发现都没有错误,最后发现是因为我是在虚拟机中编译的软件,在实机中打包的,而实机的Qt版本和虚拟机的Qt版本不一致!在使用虚拟机内的Qt重新打包后,问题解决。

这里再贴一篇博文,本人是参考他的方法一:绝对路径打包

https://blog.csdn.net/guanguanboy/article/details/104866903/

 

总结

其实0xc000007b这个类型的错误原因都是因为DLL的异常,这点首先要明晰,网上很多教程浮于表面根本没说清楚问题的本质。

遇到这类错误,在确定电脑环境都装上没问题后,对于开发者而言,首先要检查的还是你的软件的问题。因为这类错误不明确告知你的错误,很多人就会以为是客户机子环境的问题。基本来说,软件在设计的时候要考虑到用户环境,做好打包和测试工作。

0xc000007b 是一个 Windows 错误代码,它通常表示在启动过程中遇到严重的内核错误或损坏的系统文件。当应用程序无法正常启动并显示这个错误时,这可能是由于硬件问题、驱动程序冲突、系统文件丢失或损坏,或者是恶意软件导致的。如果是在无网络的情况下解决这个问题,可以尝试以下步骤: 1. **检查硬件和连接**: - 确保所有硬件连接正确,如内存、硬盘和电源线是否稳固。 - 如果是笔记本电脑,尝试更换电池或使用外接电源。 2. **系统恢复或安全模式**: - 重启计算机,在启动过程中按下 F8 键进入高级启动选项,选择“安全模式”或“安全模式带网络”。在安全模式下运行系统可能能避开一些问题。 3. **系统还原**: - 如果之前安装了系统还原点,尝试恢复到一个没有问题的状态。打开“控制面板”,然后去“系统和安全”>“系统”>“系统保护”。 4. **修复启动扇区**: - 使用 Windows 安装光盘(如果有的话)或引导修复工具来检查和修复启动扇区,这可能有助于修复损坏的引导过程。 5. **检查启动设备顺序**: - 在BIOS设置中检查启动设备顺序,确保首选的是可正常引导的硬盘或USB设备。 6. **手动修复关键系统文件**: - 打开命令提示符(管理员权限),运行 `sfc /scannow` 来扫描并修复系统文件。如果网络不可用,需要事先下载Windows系统文件检查器(Windows Update Standalone Installer)。 7. **重新安装操作系统**: - 如果上述方法都无效,可能是系统文件严重损坏,这时你可能需要创建一张Windows安装盘进行重装,但务必在此之前备份重要数据。 由于无网络限制,以上步骤依赖于本地资源和已有的系统支持,对于复杂的修复可能效果有限。如果你有网络,建议尽快连接以便获取最新的补丁和在线帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值