error LNK1123 错误记录与解决方法整理

算是转载吧,是我查了一些资料,然后,把自己的问题整理记录的。答案是转载的。

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

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

显示错误代码如上。

编译环境为VS2010,操作系统是Windows 7 旗舰版,64位操作系统。


机器是公司的Dell 本本,昨天拿来几乎是新装的系统。

VS2010和几个系统库是我今天上午装的。

在网上查了一下解决方法,大概3种,

引用http://bbs.csdn.net/topics/390121452帖子25楼的整理的很好。

终极解决方案:
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,
解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
第一步:与上相同。
第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
第三步:一般计算机经过上两步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
计算机是否为64bit操作系统,如是,继续2。
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 
另一个是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。

意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。

对于这里给出的第三步方法,38楼和后面有人提出,有很多cvtres.exe文件不知道怎么办好。

这个待议……


刚刚有看了http://www.tuicool.com/articles/6jAFFf文章,写的也很详细。它还添加了2个常用方法。

总结一下,就是安装VS 2010及其SP1,设置属性的嵌入清单为否,
平台工具集为2010,重新生成即可。

其实这个也就是临时急着解决问题用的,估计过几天VS2012 update 1的网络安装稳定了,
就可以直接使用2012的工具集编译出支持XP和2003的程序了。

  解决方案4:

微软的东西就是这样,一旦出了问题,你只能选择重装,甚至是重装系统。
我也采用这种笨方案。不过凭感觉可能与我以前在D盘安装过vc有关,
有可能覆盖安装导致某些文件被破坏。于是我先卸载了VC,
然后把文件夹D:/program files/Viusaul studios删除掉,
以前就是安装的这个目录。然后重启电脑,重新安装了一下。
又重新打开小项目,编译,通过了。

最后成为资料总结了。

我的问题是安装了VS2010的SP1安装包,再重新安装就解决了。

遗留带解决知识学习

1、嵌入清单 到底是什么,什么用途?为何这里可以解决?

2、cvtres.exe 是什么,什么用途?为何会这样解决?

刚刚找了,不好相关不多,有时间再说。



资料文章:

http://bbs.csdn.net/topics/390121452

http://hi.baidu.com/sangwf/item/415c0e76b632132ad6a89c2a

http://www.tuicool.com/articles/6jAFFf


你可能感兴趣的:(error LNK1123 错误记录与解决方法整理)