最近我的VS2010不知道怎么回事,平时用的好好的,近期竟然出现了所谓的
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
头痛万分,查了各种资料一直无解,今天为了封装资源,嵌入清单,所以不惜血本仔细找了下,终于有解决方案了。
平时我们都是将 项目-->项目属性-->配置属性-->连接器-->清单文件-->嵌入清单 中的“是”改为“否”,不让他将清单嵌入,自然也用不着转换了,所以轻松编译。虽然麻烦点,每次新建项目都要设置,但是总比不能编译强吧。
但是这次,不可以了,因为我的程序要加写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 的为老版本的,删掉它一切都正常了。