您的位置:首页 > 其它

解决VS2010下【fatal error LNK1123】的问题,居然是dotNetFrameWork版本问题。

2013-01-18 21:57 344 查看
【症状】

新建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才是王道 ”

希望这篇文能帮到你。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐