转换为COFF期间失败:文件无效或损坏

时间:2012-09-04 15:53:43

标签: visual-c++

当我尝试在VS2010中构建一个简单的程序时,编译成功但是当我尝试构建解决方案时它给了我这个错误:

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

我做错了什么?

8 个答案:

答案 0 :(得分:67)

我遇到了这个问题,我用this thread

解决了这个问题

通过转到

禁用增量链接
    Project Properties 
       -> Configuration Properties 
           -> Linker (General) 
              -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

答案 1 :(得分:37)

安装Visual Studio 2012后发生此问题。 通过将VS2010中的cvtres.exe替换为VS2012中的cvtres.exe来解决此问题。

感谢“social.msdn”!

答案 2 :(得分:30)

我在安装dotnetframework4.5之后遇到了这个问题 下面的开放路径:
" C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin" (64位机器)

" C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin" (在32位机器中)
在此路径中找到文件 cvtres.exe 并将其重命名为 cvtres1.exe ,然后再次编译您的项目。

答案 3 :(得分:8)

必须安装VS 2010 SP1才能让它自己再次运行。 Lame microsoft。

答案 4 :(得分:7)

您是否也安装了Visual Studio 2012?如果是这样,2012可能会因为.NET 4.5和.NET 4.0的兼容性问题而踩踏您的2010 IDE。

请参阅http://social.msdn.microsoft.com/Forums/da-DK/vssetup/thread/d10adba0-e082-494a-bb16-2bfc039faa80

答案 5 :(得分:6)

我正在使用Visual Studio 2010。

当我安装.NET 4.5时,这发生在我身上。 卸载.NET 4.5并安装.NET 4.0帮助我,错误消息消失了。

答案 6 :(得分:3)

如果您也安装了VS2012,旧的cvtres文件将不再起作用。

  

尝试删除文件(我只是重命名):
  C:\ Program Files   (x86)\ Microsoft Visual Studio 10.0 \ VC \ BIN \ cvtres.exe

您还可以使用/ VERBOSE链接器选项进行调试,以获取有关链接器错误的更多信息。在那里,您应该看到一条错误消息,指出对cvtres的调用失败。

答案 7 :(得分:0)

在我的情况下,这是由于磁盘上没有足够的空间来cvtres.exe来写入它必须写入的文件。

此行之前是错误

CVTRES : fatal error CVT1106: cannot write to file