“LNK1123:转换到 COFF期间失败:文件无效或损坏”的解决方法
一、错误描述
之前写的程序隔段时间使用VS2010再次运行时出现如下错误:
LINK fatal error LNK1123转换到 COFF期间失败文件无效或损坏
二、解决方法
百度了一下此问题的解决方法,逐个试了一下发现有些顽固,并没有一次成功,所以将整个步骤结合自己的处理总结如下。
1.修改项目属性
项目—属性—配置属性—清单工具—输入输出—嵌入清单,改为“否”
![](https://i-blog.csdnimg.cn/blog_migrate/454828057e5c414df6551c99c594af30.jpeg)
大部分方法说这种处理应该可以解决,但每次新建工程都需要如此配置。如果发现问题仍未解决,那么可以尝试一下两种方法。
2.用新版cvtres.exe替换旧版本的cvtres.exe
由于连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。搜索本机C盘cvtres.exe找到如下结果:
使用C:\Windows\winsxs文件夹中的较新版“cvtres.exe”替换掉..\Microsoft Visual Studio 10.0\VC\bin中的同名文件,如不放心可以将原文件改名为“cvtres1.exe”,如下图所示。
3.直接删除旧版本的cvtres.exe
如问题仍未解决,可以将Microsoft Visual Studio 10.0\VC\bin中的cvtres.exe直接删除或改名后不要复制新版的cvtres.exe进入该文件夹。
再次运行程序,问题解决。有没有副作用,有待观察...
P.S. 按照上述方法解决后,正常使用12天后未发现问题。