- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为什么说没有找到MFC42D.DLL这个文件
为什么说没有找到MFC42D.DLL这个文件?[问题点数:100分,结帖人:dongyi940333]dongyi940333(I LOVE 鲁伊.科斯塔)等 级:结帖率:98.36%楼主发表于:2006-02-11 21:59:39我在VC中新建了一个单文档项目Fractal.在运行时出现下面错误: Fractal.exe ? – ? 无法找到组件没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题. 解决方法: 单击工程/设置菜单命令,打开Project ? Settings选项卡,里面有一个Microsoft ? Foundation ? Classes 选项,如果我将此选项选为Use ? MFC ? in ? a ? Static ? Library则程序执行正常,如果此选项选为Use ? MFC ? in ? a ? Shared ? DLL则执行时就会出现上述错误. 问题: 1:Use ? MFC ? in ? a ? Static ? Library和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 ? 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你能不能再说的详细一些,如果我选Use ? MFC ? in ? a ? Shared ? DLL这个选项,怎么样才能让程序正确的执行,谢谢!对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:有关指针变量传递的问题?playboxer(大漠苍狼)等 级:#3楼得分:0回复于:2006-02-11 22:38:30是不是DEBUG版本的原因呀?我也碰到过,RELEASE就不会有了对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:RingSDK帮助文档发布!hornzen(二截棍)等 级:#4楼得分:0回复于:2006-02-11 22:40:16那就得缺什么找什么出来了.对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:Linux和windows相比那个系统下多线程效率更高些halfdream(哈欠)等 级:#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-02-11 23:03:22大家既然提到了DEBUG版本和RELEASE版本,这里我还有一个问题:我老听说编译的程序有DEBUG版本和RELEASE版本,它们到底是什么?在实际的开发中有什么区别?应该用那一个?小弟才学SDK编程,开发环境是VC,在VC中怎样区分这两个版本,默认的是什么版本?请各位高手多多指教,谢谢!对我有用[0]丢个板砖[0]引用举报管理TOPjiangsheng(蒋晟)等 级:5更多勋章#7楼得分:20回复于:2006-02-12 01:42:24你有可能想在这种极限情况下调试你的代码,但是大多数时间内,内存分配不会失败,而设置条件断点又太麻烦了。这时候可以在代码里面加上一段用来在内存分配失败时触发调试器的断言代码void ? MyZeroMemory(char* ? strBuffer, ? int ? length) { ? ? ? ? assert(strBuffer!=NULL); } 如果使用的是MFC或者ATL,建议使用对应的宏ASSERT和ATLASSERT。现在你可以编写健壮的代码使得程序在strBuffer这块内存分配失败时也能够正常运行。现在的问题是,加入的这些代码增加了应用程序的大小,减慢了运行速度。在解决了内存分配失败造成的程序崩溃的问题之后,有必要在发布的版本中去掉这些断言代码。一个简单的办法是
文档评论(0)