本文主要是介绍VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近总是在调试VS2010时碰到一个链接错误,之前一直没有,也不知道是改动什么地方了,错误代码为:
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
问:为什么会出现这个问题?
答:根据MSDN的回答为:转换到 COFF 期间失败: 文件无效或损坏,输入文件必须具有通用对象文件格式 (COFF) 。 如果输入文件不是 COFF,链接器会自动尝试将32位OMF对象转换成COFF,或运行 CVTRES.EXE 来转换资源文件。 此消息表明该链接器未能转换该文件。
因此,可知这里我们计算机可能是自动调用了cvtres.exe来转换我们的代码,而由于windows的不断升级,这个程序出现了几个版本。
问:如何解决这个错误?
答:以下根据自己查阅的相关资料,提供两种解决方案:
1、在出现链接错误的项目上右击项目->属性->配置属性->清单工具->输入和输出->嵌入清单,将“是”改为“否”,一般可以解决问题。
2、部分VS2010经过第一步修改之后仍然没有解决链接错误,并且上一步有个问题是,每次建立一个新的项目工程都要进行如此配置,因此可采用一种更加可靠和治本的方法。查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性->详细信息,查看两者版本号,删除/重命名较旧的版本,建议重命名较旧的版本。问题解决。
如果你的计算机是64bit操作系统,经过以上两步还没有解决问题,则右击项目属性->配置属性->链接器->清单文件->生成清单,将“是”改为“否”,问题解决。
这篇关于VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!