【症状】
新建MFC工程,编译通过,构建一下,提示如下错误。
LINK : fatal error LNK1123 转换到 COFF 期间失败: 文件无效或损坏
【对此微软官方是这样解释的】
http://msdn.microsoft.com/zh-cn/library/7dz62kfh.aspx
按照网上提供的办法试了下:
方法1:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
结果不行,问题依旧。
【第二次尝试】
在一个偏僻的角落里发现了这么一说:
方法2:给VS2010打SP1补丁。
但觉得MFC早在VC6时代就有了,到VS2010时代不可能出这么大个bug啊,所以暂且保留方案没有尝试。
【成功的尝试】
***后来发现,上面这两种方法似乎只针对在电脑上同时安装了VS2010和VS2012的用户,但我电脑上只有VS2010,不存在版本冲突。
找zhu帮忙,他找到一个连接,打开一看,StackOverFlow上有人给出了这样的回应:(里面第4个回答是关键)
http://stackoverflow.com/questions/10888391/link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-c
里面提到说有可能是.Net Framework版本问题,想起来新建工程时候默认选择的是4.0,但电脑上装的是4.5。不过微软官方表示4.5是一次in place update,也就是说在4.0能用的东西,放到4.5下应该也没有问题。所以抱着试一试的心态把4.5卸了,装上4.0,重启电脑,打开VS2010,载入工程,build,通过!终于出现窗口了。
***VS2010在安装时会自动安装4.0,所以你也可以选择卸了4.5之后重装VS2010,一样的 ~=。=~ 我知道你不会这么做的,对吧。。。
好吧,我只能说我无语了。。。。。。搞了半天居然是.Net Framework版本的问题,升了个级你就开始耍脾气了,真能耐。
最后套用zhu的一句话来结束本文:“ MS这种东西比较大牌,顺着它的意思和想法你会有很爽的开发体验。想折腾的话linux才是王道 ”
希望这篇文能帮到你。