首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

VS 鏈接錯誤 LNK1123 解決:cvtres.exe 版本衝突修復

     編輯:C++ 入門

錯誤現象

LNK1123: failure during conversion to COFF: file invalid or corrupt

根因分析

鏈接器調用 cvtres.exe 將資源文件轉換為 COFF 格式。系統中存在多個版本的 cvtres.exe(如 .NET Framework、VS 自帶、Windows SDK),版本不匹配導致轉換失敗。

定位文件

dir /s /b cvtres.exe
# 典型路徑:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe          # VS2010 自帶
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe                 # .NET 4.0
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_...\cvtres.exe          # WinSxS 存儲

修復步驟

  1. 備份 VS 目錄下的 cvtres.exe
  2. 複製 最新版本(通常是 WinSxS 或 .NET Framework 目錄下的)覆蓋 VS 目錄
  3. 重新構建專案

實測:用 WinSxS 版本覆蓋 VS2010 目錄下文件即可解決。

原理補充

  • cvtres.exe 負責 .res → .obj (COFF) 轉換
  • VS 更新、Windows 補丁安裝可能導致版本偏移
  • 同理可修復 rc.exe、mt.exe 等工具衝突

參考資料

StackOverflow 高票回答:LNK1123 詳細分析

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved