【解决方案】LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

昨晚学习MFC的时候在一台装有VS2010的电脑上写了一个加法计算器的简单程序,但是今天拷到另外一台VS2012的电脑上编译就一直报错:

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

后来在网上查了一下,原来VS2010创建的项目在更新的版本中打开时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。

但是我尝试了上述方法后仍然不可行,遂又查之。经检验后解决方案如下:

在电脑上“查找”cvtres.exe,看结果中是否有多个cvtres.exe文件,重点关注如下两个:

一个是VS安装目录下..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe

另一个是C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.22733_none_a350e9690a5779a6\cvtres.exe

(当然每个人的电脑中的第二个cvtres.exe文件所在的文件夹的名称可能不一样,但前面一定是“x86_netfx-cvtres_for_vc_and_vb*”,也有可能在C:\Windows\winsxs\文件夹下有多个x86_netfx-cvtres_for_vc_and_vb开头的文件夹,打开最新的那个即可,里面存储的就是cvtres.exe)

右键属性|详细信息 查看两者版本号,将新版本的cvtres.exe文件把旧版本覆盖掉(当然覆盖之前最好把旧版本的先做备份,以防意外可以恢复),我的显示后者版本较新,故将C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.22733_none_a350e9690a5779a6\cvtres.exe文件拷贝到..\Microsoft Visual Studio 10.0\vc\bin\文件夹下覆盖原来的文件。


重新编译,问题解决!



你可能感兴趣的:(VS2010,解决方案,vs2012)