【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”

问题描述

今天在VS2013发布应用程序后,本地电脑可以正常打开exe,但放到其他电脑无法正常启动,打印“应用无法正常启动(0xc000007b)。请单击“确定”关闭应用程序”。

34d6b8b072fa46ee8eeec9a9d54bf6a4.png

问题解决思路

这种情况主要还是编译电脑与运行电脑的dll的版本不匹配或者缺少dll文件,实际上缺少dll文件大多会直接提醒找不到的dll文件名,而版本不匹配则不好解决。

解决方法有两种:

  1. 了解编译电脑安装了哪些软件相关软件,比如Qt,vs2013等,在运行电脑上安装相应软件,基本上能解决这个问题。这种方法的前提是编译方与运行方可以进行沟通,但往往难于实现,即使能够交流,安装和搭建环境需要不少花费不少时间。
  2. 将运行电脑上可能不匹配的和缺少的dll文件,从编译电脑放入发布包。这种方法的前提是查找到软件运行需依赖哪些dll文件,以及判断哪些dll可能需要放入。

查找依赖dll文件

1. 在编译电脑上运行应用程序,打开windows任务管理器->性能,在左下角打开资源管理器

a86b14d524f94683bfbb7e75b971e136.png

2. 选择CPU,勾选所关注的应用程序,在下方关联的模块中,可以清晰的看到程序所依赖的dll件,全选后将信息复制到txt,方便后面对照。

aa5c1fc6074d42608bb4c35988d30541.png

3. 按照依赖dll文件列表,将可能不匹配或者缺少的dll文件,从系统对应路径拷贝到应用程序目录。这里我拷贝了MSVCP120.dll,msvcp_win.dll,MSVCR120.dll,MSVCR120D.dll,msvcrt.dll几个文件。最保险的是将所有依赖dll都放入,但软件包会比较冗余。

4. 将新的应用程序软件包放到其他干净的电脑试运行,若成功即可,若不成功可返回去拷贝其他dll文件。

我的程序到这里已运行正常,后面就是打包发布了。

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒号华仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值