查询相关资料:
http://bbs.csdn.net/topics/280039633, 其中比较重要的信息:
今天又遇到了同样的问题,在使用多字节配置,DEBUG版时候,经常找不到MFC90d.dll。找了好多资料,发现是微软的一个BUG,在文件系统为FAT32格式的电脑上经常遇到,
但是在NTFS格式的上面却从来不会遇到。把工程移到NTFS格式文件系统中即可。
另外:
有时候会遇到找不到MSVCR90.DLL的情况,这个跟VC2009的运行时库有关,忽略掉msvcrt.lib即可,具体设置:工程-属性-配置属性-链接器-输入-忽略特定库输入msvcrt.lib。
这两个问题害我整了半天,在此特别贴出来,以供大家参考。
但是,让我捉摸不透的问题是:WINXP文件系统并不是FAT32,而是NTFS格式的。此外,忽略特定库msvcrt.lib并未能解决我的问题。
第二个查询网址:VS2008找不到MFC90d.dll错误解决方法
其中提到两个点:
- 增量链接
- 清单文件
于是觉得这个方向可能是正常的。两个试验后,发现第二点:取消清单文件顺利解决问题。
PS:项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”)
总结
VS编译器设置繁杂,如大意则可能导致各种问题。同时,运行库也是一个自己需要了解的,即/MD, /MT, /LD (Use Run-Time Library)。
希望自己解决问题的方法对大家能够起到一定的帮助。