vc找不到MFC42D.DLL文件

在使用VC编译的DEBUG版本程序时,运行时可能会遇到找不到MFC42D.DLL的问题,导致应用无法启动。错误通常由于缺少DLL文件或使用了不兼容的SDK版本。解决方案包括复制DLL到系统目录、切换到RELEASE版本编译或使用静态编译。如果静态编译出现LNK1103错误,可能是因为SDK版本过高,可以通过降低SDK版本或禁用调试信息来解决。

VC环境下编的程序在VS平台上运行时(默认是DEBUG版编译)会出现报错:找不到MFC42D.DLLfatal error LNK1103: debugging information corrupt; recompile module

 

其实一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接 MFC42D.DLLMSVCRTD.DLL这两个文件,所以你如果将这个文件在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出 现:找不到所需.dll文件-某某.dll”这样的提示。而一般系统都不带有这两个文件,除非是装了vc等。而在Release目录下,可执行文件不会用到那两个讨厌的dll文件。

 

【错误】:没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题。
【原因】:电脑未安装vc6.0,系统目录下面没有MFC42.DLL,MFC42D.DLL,MFCN42D.DLLMFC042D.DLL这四个DLL文件
【解决】:1.最原始的方法:将上面的四个DLL文件下载拷贝到当前目录或者系统目录(C:\WINDOWS\system32{到安装了vc6的系统目录下面拷贝也可以}
                   2.使用release版本:菜单build->Set Active Configuration,然后选择Release
                   3.使用静态编译:菜单project->settings,General选项卡里第一项选择Use MFC in a static Library,同时build->rebuild all

采用上面的静态编译时又出现了错误,

 

【错误】:fatal error LNK1103: debugging information corrupt; recompile module
【原因】:默认的SDK版本过高,以下是网上的说法:20032月的SDK是支持VC6的最后一版,在此之后的就都是使用VC7/VC8来开发的了。随着VC7/VC8中新的debug信息格式和一些安全检查机制的导入,在VC6上使用这些库的Debug版本的时候就会产生如题的链接错误。具体而言,你可能在VC6上使用了XPWindows 2003或者Windows 2003 R2版本的SDK

【解决】:1.Release版编译,不过这样就没法调试了。
                    2.VC6.0编译器,到Tools -> Options -> Directories,将SDK的顺序放到最下边或者直接删掉较新SDKDirectories:包括Include filesLibrary files
                   3.如果你必须使用SDK中的新特性,那么找一个2004年之前的SDK吧。
                   4.这个对VS无效,可以尝试 在Solutions Explorer中选中工程,点右键选Properties -> Linker -> Debugging,把Generate Debug Info选项改为No.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值