您的位置:首页 > Web前端

mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ".\Rel

2014-01-22 09:24 706 查看

mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ".\Release\jiaoshi.exe". f(真正原因)

2013-04-09 11:35:11| 分类:

VC++ |举报
|字号 订阅

(转自:http://bbs.ednchina.com/BLOG_ARTICLE_3001206.HTM

上网找了一下,只有英文网页有相关讨论,懒得去翻译了。中文网页中倒是有一个,而且有解决办法,那就是在项目属性——配置属性——链接器——清单文件中, 把生成清单改成否就行了。

经过进一步的探索,发现在项目属性——配置属性——清单工具——输入和输出中,把嵌入清单改成否也行。

然而,问题虽然解决了,原因却还不明。因为,既然生成清单和嵌入清单是微软的默认设置,为什么却会出现错误呢?第一种方法的作者认为清单是.net程序 (托管程序)需要的,所以去掉后便能正常生成了,然而后一种方法仍然生成了清单,而且也能正常运行又作何解,而且微软的说明中也没有提到清单只是为CLR 程序准备的,而是应该所有程序都要加上清单。

更新:还有一种更简单的方法:如果编译前将所有打开的与该项目有关的文件都关掉,也可以解决问题。

最终原因已查明

由于VC需要把生成的文件中嵌入MANIFEST文件,而由于杀毒软件之类的会握有这个文件句柄(因为杀毒软件

发现这个EXE,DLL正在读写),于是VC就写不进去了,方法是暂时关闭杀毒软件,这样就不用

改写MANIFECT

我用的是瑞星杀毒软件,有这个问题.

Hi,

This might be due to antivirus holding open handle on the exe generated and thus when VS tries to embed the manifest it fails with access denied.

Is Antivirus running on your machine? Does this repro with Antivirus turned off?

If above is not the case can you provide us with a repro.

Thanks,

VC++ Team
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐