vs 2005 express 版本 关于debug 调试时显示 无法找到msvcr80d.dll的错误 解决方法

 

问题所在:由于vs 2005 采用了一种新的DLL方案,debug成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一个<程序名>.exe.manifest的文件,没它exe自己就转不了了:)这是个新功能,微软弄了个新工具(mt.exe),结果不好用,好像是fat32下时间戳有问题(在ntfs下这个问题就没有了),搞得manifest有时嵌入不到exe中(默认配置是嵌入的,所以就报错找不到dll了。而用release就不会出现这个问题。解决方法如下:

解决方案(3个):


1. 微软对于这个问题应该也有处理,不过感觉不是很人性化。在“属性->配置属性->清单工具->常规“下有一个”使用FAT32解决办法,把它选成是,就可以了。(注意:一定要先配置这个选项,然后再编译工程,要不然还是不好用:)


2. 找到你的工程的文件夹,如(myproject),找到其下的myproject/myproject/Debug/ myproject.rec,把它删掉(删掉整个Debug目录也可以),重新编译,搞定!

 

3.其次之后我觉得这个问题主要出现在 fat32上 所以呢。而第一种又不是很人性化。所以我就想 在工程建成时候 就直接讲那个配置属性的  使用fat32设置成true 就成。于是找到vs 2005 vc的配置文件。。

1) 首先找到你的vs.net安装目录(如我的是D:/Program Files/Microsoft Visual Studio 8),定位到Microsoft Visual Studio 8/VC/VCWizards/AppWiz/Generic/Application/scripts/文件夹,里面只有一个文件default.js 打开修改它:(首先备份哦)

 

找到:

 

function AddSpecificConfig(proj, strProjectName, bEmptyProject, strAppType)
{
 try
 {
  var bMFC = wizard.FindSymbol("SUPPORT_MFC");
  var bATL = wizard.FindSymbol("SUPPORT_ATL");
  var config = proj.Object.Configurations("Debug");

   ....................................................

 

找到这个位置之后 往这加上代码:

 

  var MFTool = config.Tools("VCManifestTool");
  MFTool.UseFAT32Workaround = true;

 

之后保存 重新开启vs 2005 新建 项目之后看看 问题就消失了。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值