为什么我用VC++6.0做的MFC工程在没有装VC的电脑上运行不了,说是找不到MFC42D.DLL文件

文件名好像是MFC42D.DLL,不敢肯定。反正问题是,如何让一个MFC工程在任意一台电脑上都能运行呢?要不然一些用VC做的程序不就有使用限制了么,而且一般的电脑都不会装VC的。

因为VC6 MFC程序默认建立的程序是动态链接,需要运行时加载一些DLL文件。 有两种方法可以解决:1.拷贝所缺失的dll到你的程序运行目录;2. 建立MFC工程时选择静态链接,这样编译器产生exe文件时会自动打包所缺失的dll,缺点是与动态链接相比,exe文件比较大。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-05
这个好办,在你自己的电脑的C:\Windows\System32\目录下找到以下6个文件,然后拷贝到你的可执行程序的目录下就可以了:
MFC42D.DLL、MFCN42D.DLL、MFCO42D.DLL、MSVCP60D.DLL、msvcrt.dll、MSVCRTD.DLL
因为你在程序中用到了MFC动态库中的函数,所以你的执行目录中必须得有这些东西。
第2个回答  2011-01-05
程序有Debug和Release版本的区分,编写出来要在别的电脑上运行,需要选择Release版本。在工具栏配置成Win32 Release试试。
第3个回答  2011-01-05
要做安装程序的。有一些文件必要的。不过VC程序运行,需要的库不很多,把相关DLLcopy过去就行了。。。还要记住发布的时候要用release版本,别把debug版本发出去了。本回答被提问者和网友采纳

为什么我用VC++6.0做的MFC工程在没有装VC的电脑上运行不了,说是找...
因为VC6 MFC程序默认建立的程序是动态链接,需要运行时加载一些DLL文件。 有两种方法可以解决:1.拷贝所缺失的dll到你的程序运行目录;2. 建立MFC工程时选择静态链接,这样编译器产生exe文件时会自动打包所缺失的dll,缺点是与动态链接相比,exe文件比较大。

没有找到MFC42D.DLL
mfc42d.dll是MFCDLL共享库文件,用于支持调试版本的MFC程序。当你的电脑提示“没有找到mfc42d.dll”或者“丢失mfc42ud.dll”等类似错误信息 请下载本站提供的dll文件,使用它可以帮助用户解决上述问题。dll文件修复方法:1、解压下载的文件。2、复制文件“mfc42d.dll”到系统目录下。3、系统目录一般为:C:...

...序数569于动态数据库MFC42D.Dll上,该怎么办有没有人遇到过,求高手解...
你先找到他,可能在system32下面,可能在你项目的debug或者release里,先剪切出来,看程序还报错不,如果报错,就到网上下载一个,一般都有一套的如xx.lib,xx.dll,xx.h的,实在不行,就把新加的代码注视掉用另外一种写法。

调试VC++中提示计算机丢失MFC42D.DLL文件 我用的是Win7系统,我到网上...
工程->设置->常规,把Microsoft基础类改为:使用MFC作为静态链接库

VC++编译的程序出现 MFC42D.DLL
把编译模式改为 Release 即可

c++生成的exe在没有装c++的电脑能不能运行?
看你生成的是什么程序了,如果是控制台程序,一般都能执行,如果是windows窗口程序如果是完全调用API的C程序,一般在windows上也能执行,但如果使用MFC类库,而程序不是静态连接,则在运行计算机上要有相应的动态链接库,否则不能运行,如使用VC6开发的MFC程序,需要mfc42.dll ...

VC++6.0中COleDateTime::GetCurrentTime()的问题
我有个程序也是这个问题,经过测试装过vc6.0的sp6的机器不行,其他机器是可以的。根据这个线索,把c:\\windows\\system32目录的mfco42d.dll换成vc安装程序里面带的就可以了。vc安装目录的mfco42d.dll时间是1998年的,打过sp6的时间为2004,估计是别人编译程序的时候使用的vc是没有sp6,而你本地是有...

为什么C++生城的exe文件到另一电脑无法运行?
你编译的是调试版本 (Debug) 的, 调试版本只能在有开发环境的机器上运行, 应该将它用发行版本 (Release) 编译就可以了;PS: *d.dll 中的那个 'd' 代表 debug, 说明是一个调试使用的库.

请问VC++6.0MFC DEBUG指向lResult = pWnd->WindowProc(nMsg, wParam...
从这个描述是看不出问题的,因为出异常的原因也许就出现在你一些不知道需要检查的地方,例如:跨线程访问窗口?

MFC042D.dll
MFC42D.dll 是debug 用的mfc42.dll。在MS VC++ 编译时,建在debug下的exe程序是查错用的,建在release文件夹下的exe程序才是给别人用的。如果你得到的是debug下生成的exe程序,运行时不但需要debug 用的MFC042D.dll动态链接库,你还需要别的加字母D的查错用的动态链接库。我可以给你MFC42D.dll,...

相似回答