VS 2010下 打开实例 出现这样的错误: LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏。
输入文件必须具有通用对象文件格式 (COFF) 格式。 如果输入文件不是 COFF,链接器将自动尝试转换为 COFF 的 32 位 OMF 对象或运行 CVTRES.EXE 来转换资源文件。 此消息指示链接器未能转换文件。
修复此问题
确保文件类型有效。 例如,确保 OMF 对象不 32 位和 16 位。 有关详细信息,请参阅 用作链接器输入的 .Obj 文件 和 基于 PE 和 COFF 规范。
确保文件未损坏。
解决方案一:
这两个fatal error是因为从低版本的WTL到高版本的WTL转变后产生的.错误描述如下:
1>正在编译资源...
1>正在编译资源清单...
1>正在链接...
1>CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
1>生成日志保存在“file://c:\WTL80_7108_Beta1\Samples\BmpView\Debug\BuildLog.htm”
1>BmpView - 2 个错误,1 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
解决方案二:
1、搜索C盘下的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.7601.17514_none_ba1c770af0b2031b
C:\Windows\Microsoft.NET\Framework\v4.0.30319
2、先备份 C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 目录下的 cvtres.exe
3、复制 C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.17514_none_ba1c770af0b2031b 目录下的 cvtres.exe 到C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 目录下,直接覆盖替换。
4、OK,打开测试一下,如果不行,记得还原备份的文件。