vs2010问题

来源:互联网 发布:炸群软件下载 编辑:程序博客网 时间:2024/05/20 04:11

转帖:http://www.cnblogs.com/cydonia/archive/2012/06/19/2554730.html

VS纠结的嵌入清单 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

今天同事改了两行代码,update之后工程立马宕掉,显示错误如下

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

clean之后rebuild, 依然如此。对项目中每个依赖工程rebuild 结果全部崩坏,完全不能理解。

之后查到微软官方的一个解决方案:

http://support.microsoft.com/kb/320216/zh-cn

发现是嵌入清单的问题,于是对该工程以及所有依赖工程进行如下操作

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

rebuild 之,成功解决

flyer说VS2010有这个是为了兼容,2005和2008就这个东西最烦人,2003就没这东西


============================================================================

又遇到这样的老问题,应该一次性解决掉。

因为 连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。

如果按上面的不让转换清单生成,则会少生成不少文件,止于少了的清单文件 暂时还不知道有什么影响。调试没发现什么问题。


http://blog.chinaunix.net/uid-20385936-id-3506149.html

在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件即可,替换之前记得备份一下,如果不对,可以替换回来。

例如:我的电脑里面安装了vs2010,最近更新了系统,打了一些补丁,结果就出现这种错误了。在电脑里面搜索发现

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文件,于是我尝试使用第二个路径里面的文件替换第一个路径的文件,问题解决

如果是64位系统的还会有一个64位的文件,一样备份替换就好了


原创粉丝点击