好工具推荐系列:Dependencies。可以解决MFC运行出错:应用程序无法正常启动0xc000007b

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 好工具推荐系列:Dependencies。可以解决MFC运行出错:应用程序无法正常启动0xc000007b

本人在Win7 64位系统,VS2013使用MFC编译的程序,程序使用32位编译。



生成的exe拷贝在纯净的操作系统WinXP/Win7,运行出错:应用程序无法正常启动0xc000007b

image.png



原因及对策:


dll文件32位和64位混淆了。其根本原因是缺乏所需要的DLL,提供了错误版本的dll相当于没有dll。


win7 64位操作系统里,C:\Windows\System32文件夹里的dll为64位的,32位的dll在C:\Windows\SysWOW64里。32位的程序误用64位的dll自然会出错,改从SysWOW64里拷相应的dll里即可。出人意料!System32和SysWOW64,容易被名字所迷惑!


另外,


32位MFC的.dll文件也可以在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86找到。


64位MFC的.dll文件也可以在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64找到。


想要最新版本的redist,请访问:


The latest supported Visual C++ downloads


The latest supported Visual C++ downloads


------附录------


一、工具:depends,可以查看exe文件的依赖库,仅适用于winxp/win7/win8,不能用于win10.


官网下载:Dependency Walker (depends.exe) Home Page 分32位和64位两种


https://github.com/multilang-depends/depends


使用方法:


1、点击工具栏上的文件→打开,找到需要分析的exe可执行文件即可,这里就点击Depends.exe可执行文件进行分析(可执行文件格式,包括 DLL、EXE、FON)。


2、点击一个dll动态链接库,右边就会出现两个窗口。第一个窗口是所选的Dll模块所使用的函数,分为:序数、提示、函数、入口点等讯息。


3、下面窗口是所有需要的Dll模块的属性。出错的数据会有红色、黄色(有些是环境不同造成的)的警示问号。


二、(推荐)工具:Dependencies,可以应用在win7/win8/win10,不支持winxp,但还是推荐使用!


软件下载:


https://github.com/lucasg/Dependencies


https://github.com/lucasg/Dependencies/releases


软件依赖环境:


需要下载Microsoft Visual C++ Redistributable,The latest supported Visual C++ downloads:


The latest supported Visual C++ downloads


最后,运行程序:


DependenciesGui.exe


三、DLL文件下载网站:Download missing DLL files for free | DLL‑files.com


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8月前
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
1147 1
|
Windows
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
1045 0
|
C++ Windows
【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”
今天在VS2013发布应用程序后,本地电脑可以正常打开exe,但放到其他电脑无法正常启动,打印“应用无法正常启动(0xc000007b)。请单击“确定”关闭应用程序”。
1169 0
【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”
|
7月前
Qt6.5打包(QT windeployqt不是内部或外部命令、QT错误:缺少libgcc_s_seh-1.dll ,无法正常启动(0xc000007b) 问题解决方法)
Qt6.5打包(QT windeployqt不是内部或外部命令、QT错误:缺少libgcc_s_seh-1.dll ,无法正常启动(0xc000007b) 问题解决方法)
792 1
调试实战 —— dll 加载失败之 Debug Release 争锋篇
调试实战 —— dll 加载失败之 Debug Release 争锋篇
|
IDE 开发工具
Visual Studio下程序开发: 编译QT程序Debug正常,Release出错
Visual Studio下程序开发: 编译QT程序Debug正常,Release出错
1029 0
Visual Studio下程序开发: 编译QT程序Debug正常,Release出错
|
区块链 C语言 虚拟化
QT程序打包发布Release时的注意事项
QT程序打包发布Release时的注意事项
|
编译器 C++ Windows
Qt程序运行依赖环境打包方法:windeployqt方法
3分钟学会Qt程序运行依赖环境打包方法:windeployqt方法!
555 0
Qt程序运行依赖环境打包方法:windeployqt方法
|
Ubuntu Shell 计算机视觉
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
|
监控 JavaScript 应用服务中间件
C# WinForm 开发配置文件更新/EXE应用启动及监控检测工具
使用C# WinForm 开发快速更新配置文件切换环境以及启动外部EXE应用并进行监控的windows桌面EXE应用