解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
我原来装vs2012版本装错了,卸载掉重装(汗,vs64位装到os32位了),后来装的是vs2010,运行就出现一下这个问题:
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
平时我们都是将 项目-->项目属性-->配置属性-->连接器-->清单文件-->嵌入清单 中的“是”改为“否”,不让他将清单嵌入,自然也用不着转换了,所以轻松编译。虽然麻烦点,每次新建项目都要设置,但是总比不能编译强吧。
------------------------------------------------------------------------------------------
但这个方法只能用于一般项目,如win32 console...
如果我新建一个MFC 对话框应用程序,上面的方法是行不通的,因为必须要带清单。(至于原理,我没弄明白,可能对话框应用程序需要dll链接)
网上有说重装系统的方法,实在不想这么复杂
--------------------------------------------------------------------------------- --
这次因为我的程序要加写rc,必须带清单才能正常使用。所以这种治标不治本的方法失效了。
出现了两个版本的cvtres.exe。而系统变量里将这俩都引用了,编译的时候,不知道用哪个了,导致出错。
这就好办了,删掉一个呗。
一个在C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe,另一个在你安装VS的软件目录..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
然后右键属性-->详细信息 查看两者版本号,把老的覆盖用新的覆盖掉,就完了。我的是在..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe 的为老版本的,换成较新的一切都正常了。
参考前辈的:http://www.cnblogs.com/croot/p/3525322.html