(转)关于MFC42D.DLL

本文介绍了当在其他计算机上运行使用MFC的调试版本程序时出现DLL文件缺失的问题及解决方案。通过设置项目为发布版并采用静态链接MFC的方式,可以避免因缺少MFC42D.DLL而导致的应用无法启动的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天把自己写的程序“系统命令工具”给了一个网友,结果他运行出现了错误:没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题。我为此迷惑不解,去查资料。

谜 底是:其实一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接 MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出现: “找不到所需.dll文件-某某.dll”这样的提示。而一般系统都不带有这两个文件,除非是装了vc等。 解决方法很简单:1,选择菜单build->Set Active Configuration,然后选择Release, 2,选择菜单project->settings,在General选项卡里第一项选择Use MFC in a static Library,即静态连接 其实这就是生成了发布版程序,在Release目录下,可执行文件不会用到那两个讨厌的dll文件,一般到别的机器上都能用,试试吧!

OK,我照做了,写了另一个程序,然后到处找人做实验。结果是正确的。当对方机子上有VC时,我们用DEBUG和动态链接库编的程序是可以用的;否则,就会提示出错,只能用Release和静态链接。因此,要做一个通用的程序,就必须用发布版。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值