Visual studio 2010出现“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决方式

时间:2022-04-16 17:18:16

本来自己的电脑上装了VS2010,因为开发Cocos2d-x 3.x,所以就在自己的机器上装了一个VS2012。

但是。这不装不要紧,debug一下自己原来的程序,结果出现了“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”这种错误,想想都非常无语。

细致分析了一下这个问题。原来是微软的链接文件的格式变了

解决方式1:

微软官方给出的详细解决方法是给VS2010打SP1补丁:

下载地址是:http://www.microsoft.com/en-us/download/details.aspx?

id=23691

解决方式2:

是嵌入清单的问题。于是对该project以及全部依赖project进行例如以下操作:

右键->project属性->配置属性-> 清单工具->输入和输出->嵌入清单。选择[否]

1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

1>CVTRES : fatal error CVT1100: 资源反复。类型: MANIFEST,名称: 1,语言: 0x0409

这个是因为日志文件引起的。能够将

项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。

或者将

项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”。改成“否”。

处置方法解释:

1、如果名目是一个静态库,也许说,名目中没有本质的资源文件的时候,将嵌入清单改成“否”是可能处置的。

2、如果名目已有了资源文件。将嵌入清单改成“否”是不行能处置效果的,除非你同一时候把这些资源文件移除掉。

论断,确保名目中没有资源文件的存在。且把嵌入清单改成“否”可能处置该效果,但这确实也失掉了资源文件的作用。没措施。谁让他是个Bug呢。