错误描述:
fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
错误解释:
转换到 COFF 期间失败: 文件无效或损坏该对象或资源未能转换为通用对象文件格式 (COFF)。输入的文件必须具有 COFF 格式。 如果输入的文件不是 COFF,链接自动将 32 位 OMF 对象转换到 COFF 或运行 CVTRES.EXE 转换资源文件。
问题分析:
归根结底就是cvtres.exe的问题,如果你的计算机上安装了不同版本的vs,并且注册了环境变量,这样会对应多个版本的cvtres.exe,在链接资源文件时由于低版本的支持问题从而引发。
解决方法:
以下提供三种解决方法。
1.工程配置修改:
修改工程配置文件中的Embed Manifest为NO
2.下载安装补丁法:
下载安装Visual c + + Visual C++ 2010 Service Pack 1 (SP1)
3.文件替换法
系统中搜索cvtres.exe
查看各个文件中版本信息
对比找到一个版本低的cvtres.exe,用新版本替换其即可解决。