在调试VS2010时,遇到了下面的问题:
1>Link:
1> 正在生成代码
1> 已完成代码的生成
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
1>
1>生成失败。
1>
1>已用时间 00:00:08.88
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========
作为一个新手,在迷茫时首先想到就是的网搜,好在根据网上各位前辈的指点成功解决了问题,还是一起来分享一下经验。
错误分析:
VS2010在经过一些更新后,可能还会保留之前的版本文件,包括cvtres.exe,这个程序正是生成解决方案时,连接器调用以此来完成文件向coff格式的转换的,所以在建立Project项目时,系统中有可能还保留着的新旧版本会冲突,导致转换失败。
解决方案为:
方案一:比较简单省事的做法,将项目/项目属性/配置属性/清单工具/输入和输出/嵌入清单 的选项 “是”改为“否”即可,但是有些PC机在修改后每次新建一个项目都要这样设置一次。(奇怪,我的PC机还不吃方案一这套。)
方案二:比较彻底的办法,运行搜索“cvtres.exe”,你会发现电脑中存在多个文件,找出其中的应用程序文件,
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65
C:\Windows\Microsoft.NET\Framework\v4.0.30319
用最新的“cvtres.exe”替换旧的(要记得将旧的备份一下)。
然后在重新调试,生成成功,over了。