1. 程式人生 > >VS2010錯誤“LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞”解決辦法

VS2010錯誤“LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞”解決辦法

問題:

作業系統Win7 64位,已安裝Visual Studio 2013,可以順利編譯生成專案。

因和其他同事同時開發一個專案,為了編譯環境完全相同,需要安裝Visual Studio 2010,安裝完成後編譯專案,提示錯誤資訊:

LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞

解決辦法:

1. 根據錯誤資訊是連結期間出的問題,並且是轉換到COFF檔案失敗,說明極有可能是資原始檔轉COFF檔案的工具cvtres.exe存在衝突;

2. 查詢系統當中的cvtres.exe檔案,搜尋C盤,結果如下:

<pre name="code" class="html">C:\Windows\Microsoft.NET\Framework\v2.0.50727\cvtres.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\cvtres.exe
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe

D盤搜尋結果如下:

D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe
由於安裝目錄是Program Files (x86)而不是Program Files,所以,C盤中的Framework64目錄下的都不考慮,

v2.0.50727目錄中cvtres.exe的版本為8.00.50727.4940,v4.0.30319目錄中cvtres.exe的版本為11.00.50938.18408;

選擇新版本的cvtres.exe,即...\Framework\v4.0.30319\cvtres.exe。

因系統用的是i5處理器,D盤amd64目錄下的cvtres.exe不予考慮;

..\VC\bin\cvtres.exe版本為10.00.30319.01;

該版本不如c:\Windows\Microsoft.NET\Framework\v4.0.30319\目錄下的cvtres.exe,將..\VC\bin\目錄下的cvtres.exe改名或刪除。

再次按F7編譯專案,順利編譯通過並生成可執行檔案。

問題解決。