fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 不更改VS默认设置的解决方法

在进行编译的时候遇到这个问题,搜索下,很多博客和论坛都是用更改VS的默认设置选项,去解决这个问题。

我希望用一个更自然地方式,即问题不是因为更改VS的设置造成的,就尽量不去动VS的设置。

 

CAUSES

1. 由于你安装了VS2010后,又安装了Visual Studio 2012;

2. 另一个原因是net Framework 4.0被.net Framework 4.5替换了;

3. .net Framework文件损坏;

 

HOW TO SOLVE

卸载 .Net Framework 4.5,下载.Net Framework 4.0(即dotNetFx40_Full_x86_x64)安装,就可以解决这个问题。

 

OTHER WAYS

对于安装VS2012引起的错误,可以采用:

检查 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe(VS的安装目录,也可能是D盘、E盘)下 cvtres.exe的版本

错误的版本:  2010‎年‎3‎月‎18‎日          

正确的版本:  2011年2月21日

如果你的是错误版本,把 
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe 
下的cvtres.exe 替换到 
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe

 

CONCLUSION:

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt错误到此就解决了。

如果采用 卸载 .Net Framework 4.5 重装.Net Framework 4的方法,系统如果自动更新.Net Framework 4.5,可以进行如下设置,暂时阻止自动更新。参考:

 

  1.  启动注册表编辑器。为此,单击开始,单击运行,键入regedit,,然后单击确定
  2. 找到并单击以选中下面的注册表子项:
    HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP
  3. 编辑菜单上,指向新建,然后单击。 键入WU
  4. 右键单击WU,指向新建,然后单击DWORD 值。 键入BlockNetFramework451。
  5. BlockNetFramework451,右键单击,然后单击修改。 在数值数据框中,键入1,然后单击确定

你可能感兴趣的:(vc++)