为什么说没有找到MFC42D.DLL这个文件_第1页
为什么说没有找到MFC42D.DLL这个文件_第2页
为什么说没有找到MFC42D.DLL这个文件_第3页
为什么说没有找到MFC42D.DLL这个文件_第4页
为什么说没有找到MFC42D.DLL这个文件_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、为什么说没有找到MFC42D.DLL这个文件?问题点数:100分,结帖人:dongyi940333·· dongyi940333· (I LOVE 鲁伊.科斯塔)·· 等级: · 结帖率:98.36%·楼主发表于:2006-02-11 21:59:39我在VC中新建了一个单文档项目Fractal.在运行时出现下面错误: Fractal.exe     无法找到组件 没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题. 解决方法: 单击工程/设置菜单命令,打开Proje

2、ct   Settings选项卡,里面有一个Microsoft   Foundation   Classes 选项,如果我将此选项选为Use   MFC   in   a   Static   Library则程序执行正常,如果此选项选为Use   MFC   in   a   Shared   DLL则执行时就会出现上述错误. 问题: 1:Use   MFC   in   a   Static   Library和

3、Use   MFC   in   a   Shared   DLL这两个选项有什么区别.? 2:MFC42D.DLL这个文件是干什么用的? · 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP回复次数:13 ·· DentistryDoctor· (Data Recovery -)·· 等级:· 223更多勋章#1楼 得分:20回复于:2006-02-11 22:05:241.Use   MFC  

4、; in   a   Static   Library,在静态库中使用MFC,这样发行时就不需要MFC的DLL,否则,发行时需要一并发生MFC的动态库。 2.MFC42D.DLL是4.2版的MFC的DLL。· 对我有用1· 丢个板砖0· 引用· 举报· 管理· TOP精华推荐:从编程语言到框架的转变·· dongyi940333· (I LOVE 鲁伊.科斯塔)·· 等级:·#2楼 得分:0回复于:2006-02-11 22:15:43你能不能再

5、说的详细一些,如果我选Use   MFC   in   a   Shared   DLL这个选项,怎么样才能让程序正确的执行,谢谢!· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP精华推荐:有关指针变量传递的问题?·· playboxer· (大漠苍狼)·· 等级:·#3楼 得分:0回复于:2006-02-11 22:38:30是不是DEBUG版本的原因呀?我也碰到过,RELEASE就不会有了· 对我有

6、用0· 丢个板砖0· 引用· 举报· 管理· TOP精华推荐:RingSDK帮助文档发布!·· hornzen· (二截棍)·· 等级:·#4楼 得分:0回复于:2006-02-11 22:40:16那就得缺什么找什么出来了.· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP精华推荐:Linux和windows相比那个系统下多线程效率更高些·· halfdream· (哈欠)·

7、;· 等级:·#5楼 得分:20回复于:2006-02-11 22:52:03编译成RELEASE版就行了. MFC42.DLL.这种名字带D的DLL表示是调试版用的DLL,在缺省的WINDOWS系统里面没有这种DLL, 安装VC开发环境的机器里会有它. · 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP精华推荐:苏轼念奴娇赤壁怀古鉴赏·· dongyi940333· (I LOVE 鲁伊.科斯塔)·· 等级:·#6楼 得分:0回复于:2006

8、-02-11 23:03:22大家既然提到了DEBUG版本和RELEASE版本,这里我还有一个问题: 我老听说编译的程序有DEBUG版本和RELEASE版本,它们到底是什么?在实际的开发中有什么区别?应该用那一个?小弟才学SDK编程,开发环境是VC,在VC中怎样区分这两个版本,默认的是什么版本?请各位高手多多指教,谢谢!· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP·· jiangsheng· (蒋晟)·· 等级:· 5更多勋章#7楼 得分:20回复于:200

9、6-02-12 01:42:24你有可能想在这种极限情况下调试你的代码,但是大多数时间内,内存分配不会失败,而设置条件断点又太麻烦了。这时候可以在代码里面加上一段用来在内存分配失败时触发调试器的断言代码 void   MyZeroMemory(char*   strBuffer,   int   length)         assert(strBuffer!=NULL); 如果使用的是MFC或者ATL,建议使用对应的宏ASSERT和ATLASSERT。现在你可以编写健壮的代码使得程序在strBuffer这块内存

10、分配失败时也能够正常运行。 现在的问题是,加入的这些代码增加了应用程序的大小,减慢了运行速度。在解决了内存分配失败造成的程序崩溃的问题之后,有必要在发布的版本中去掉这些断言代码。一个简单的办法是使用预处理标识符: void   MyZeroMemory(char*   strBuffer,   int   length) #ifdef   DEBUG         assert(strBuffer!=NULL); #endif 这样你可以只维护同一份代码。当然,这也意味着调试的代码在发行版中会被去除,所

11、以为了避免不可预料的行为,为了调试而加入的代码应该尽可能少地影响应用程序的行为。 · 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP·· cn_archer· (阡陌纵横)·· 等级:·#8楼 得分:20回复于:2006-02-12 01:46:52这种问题,简单地说,就是编译出的程序需要VC开发环境中的某些DLL的支持。把这些动态链接库和应用程序放在同一目录下即可解决问题。 如果要了解深层的原因,请参考楼上的帖子 _· 对我有用0· 丢个板砖

12、0· 引用· 举报· 管理· TOP·· king1980· (kingnudt)·· 等级:·#9楼 得分:0回复于:2006-02-12 10:31:55rebuild   all就可以了。· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP·· hawking20001981· (moblin primer)·· 等级:·#10楼 得分:0回复于:20

13、06-02-12 23:19:50放到编译好的EXE文件目录下不行吗· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP·· rageliu· (天气好了就去长白山看水怪)·· 等级:·#11楼 得分:0回复于:2006-02-13 09:42:33选择static   后release就可以了 如果选的是shared后release,就需要将xx.dll一起发布· 对我有用0· 丢个板砖0· 引用· 举报· 管理· TOP·· kelinwang19· (kelin)·· 等级:·#12楼 得分:20回复于:2006-02-13 09:59:18debug版本包含一些调试信息,比较大,一般只用于调试,在软件发布的时候,用Release版本 选择static不需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论