写点什么

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

作者:柒号华仔
  • 2022 年 7 月 15 日
  • 本文字数:637 字

    阅读完需:约 2 分钟

 问题描述

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



问题解决思路

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

解决方法有两种:

  1. 了解编译电脑安装了哪些软件相关软件,比如 Qt,vs2013 等,在运行电脑上安装相应软件,基本上能解决这个问题。这种方法的前提是编译方与运行方可以进行沟通,但往往难于实现,即使能够交流,安装和搭建环境需要不少花费不少时间。

  2. 将运行电脑上可能不匹配的和缺少的 dll 文件,从编译电脑放入发布包。这种方法的前提是查找到软件运行需依赖哪些 dll 文件,以及判断哪些 dll 可能需要放入。


查找依赖 dll 文件

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



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



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

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

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

发布于: 刚刚阅读数: 3
用户头像

柒号华仔

关注

星光不问赶路人,时光不负有心人。 2022.07.01 加入

CSDN 5G领域新星创作者,阿里云星级博主,专注于5G领域,兼顾网络,编解码协议,linux,C/C++等方向,欢迎关注我。

评论

发布
暂无评论
【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”_debug_柒号华仔_InfoQ写作社区