VS2010錯誤“LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞”解決辦法
阿新 • • 發佈:2019-01-25
問題:
作業系統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編譯專案,順利編譯通過並生成可執行檔案。
問題解決。