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

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

 问题描述

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

image.gif编辑

问题解决思路

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

解决方法有两种:

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

    查找依赖dll文件

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

    image.gif编辑

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

    image.gif编辑

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

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

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

    相关文章
    |
    安全 Unix Linux
    VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
    VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
    146726 65
    |
    算法 安全 Go
    Go语言中的加密和解密是如何实现的?
    Go语言通过标准库中的`crypto`包提供丰富的加密和解密功能,包括对称加密(如AES)、非对称加密(如RSA、ECDSA)及散列函数(如SHA256)。`encoding/base64`包则用于Base64编码与解码。开发者可根据需求选择合适的算法和密钥,使用这些包进行加密操作。示例代码展示了如何使用`crypto/aes`包实现对称加密。加密和解密操作涉及敏感数据处理,需格外注意安全性。
    394 14
    |
    传感器 机器学习/深度学习 边缘计算
    最新综述 | 复杂环境中的计算机视觉问题介绍及解决!(上)
    环境的高精(HD)语义地图生成是自动驾驶的一个重要组成部分。现有方法通过融合不同的传感器模式(如激光雷达和相机),在这项任务中取得了良好的性能。然而,目前的工作基于原始数据或网络特征级融合,仅考虑短距离高精地图生成,限制了其部署到现实的自动驾驶应用中。在本文中,作者专注于在两个短距离(即30m以内)构建高精地图的任务,并预测长达90m的长距离高精地图,这是下游路径规划和控制任务所需的,以提高自动驾驶的流畅性和安全性。为此,作者提出了一个名为SuperFusion的新网络,在多个层次上实现了激光雷达和相机数据的融合。
    最新综述 | 复杂环境中的计算机视觉问题介绍及解决!(上)
    【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
    【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
    4348 4
    |
    安全 前端开发 中间件
    Python面试题:Django Web框架基础与进阶
    【4月更文挑战第17天】本文详细梳理了Django面试中常考的基础和进阶问题,包括MTV架构、ORM、数据库迁移、视图模板、中间件、信号、表单验证、用户认证授权等,并指出易错点及规避策略。提供代码示例展示模型和视图的实现,助力开发者在面试中脱颖而出。
    965 12
    |
    C++ 索引
    【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用
    【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用
    2482 0
    |
    数据可视化 数据库 C++
    Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
    Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
    5115 0
    |
    编译器 C++
    C++:无法查找或打开 PDB 文件?? 如何解决呢?以及产生原因是什么?
    C++:无法查找或打开 PDB 文件?? 如何解决呢?以及产生原因是什么?
    2219 0
    |
    SQL Java 数据库连接
    【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门
    【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门
    826 0