vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
>LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞
問題說明:當安裝VS2012之后,原來的.NET?4.0會被替換為.NET?4.5。卸載VS2012時,不會恢復.NET?4.0。
- l?當VS2012安裝后,VS2010的cvtres.exe就無法使用了。如果你的PATH環境變量中VS2010的工具路徑第一個出現,而且鏈接器需要將.res文件轉換為COFF?對象格式,就會導致LNK1123錯誤。
- l?當VS生成PE文件頭時,使用的cvtres.exe版本錯誤,不能與當前的.NET平臺兼容。
解決方案:
參考:
http://stackoverflow.com/questions/10888391/link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-c
因為是cvtres.exe版本錯誤導致的結果,所以凡是能使VS鏈接器找到正確的cvtres.exe版本的方法都可以解決該問題?;蛘呤筕S鏈接器不生成COFF的方法都可以。
【方法一】
??當前系統中存在兩個cvtres.exe文件,版本不同。讓VS2010使用.NET?4.5的cvtres.exe程序。
具體步驟:
重命名或刪除:(vs2010安裝的位置)C:\Program?Files?(x86)\Microsoft?Visual?Studio?10.0\VC\bin\cvtres.exe
這樣C:\Windows\Microsoft.NET\Framework\v4.0.30319?(.NET?4.5)中的cvtres.exe文件就可以被VS2010使用。
【方法二】
解決方法如下:
項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是“是”,改成“否”。
說明:這種方法每個工程均需要修改配置。
?
【方法三】
安裝:VS2010?SP1.?該版本應該是能使用.NET?4.5的,并配有正確的cvtres.exe版本。
注意:安裝VS?2010?SP1?時會移除64-bit?編譯器.?通過安裝?VS?2010?SP1?compiler?pack?能夠重新獲得。
?
【方法四】
卸載.NET?4.5,重裝.NET?4.0
總結
以上是生活随笔為你收集整理的vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hacking PostgreSQL
- 下一篇: 在Windows上以服务方式运行 MSO