首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MFC 修改 .rc 和 resource.h 後報錯 RC2135:文件格式損壞或資源 ID 衝突

     編輯:程式設計疑難解答

錯誤信息

error RC2135: file not found: 1

常見原因

  1. .rc 文件語法錯誤**:手動編輯破壞結構(如缺少雙引號、括號不匹配、ID 定義錯誤)。
  2. resource.h 與 .rc 不一致**:資源 ID 定義衝突、缺失、或數值超出範圍。
  3. 引用的資源文件(圖標、位圖)實際不存在**:.rc 中引用路徑錯誤或文件被刪除。
  4. 編碼問題**:.rc 文件保存為 UTF-8 with BOM 導致解析異常(建議 ANSI/UTF-16LE)。

排查步驟

  1. 用 **資源視圖** 雙擊報錯資源,Visual Studio 定位到 .rc 行。
  2. 對比 .rc 與 resource.h 中 ID 定義是否一致。
  3. 檢查報錯行引用的文件路徑是否真實存在。
  4. 嘗試 **Git 還原** .rc 和 resource.h,再逐步應用修改。
  5. 極端情況:刪除 .aps、.rc、resource.h,重新從資源視圖添加資源生成。

最佳實踐

  • **優先用資源視圖/屬性頁** 修改資源,避免手動編輯 .rc。
  • 資源 ID 統一在 resource.h 定義,.rc 引用符號常量。
  • 版控 .rc 和 resource.h,變更可追溯。

總結

RC2135 多為手動編輯 .rc 導致格式錯誤或引用丟失,善用 IDE 可視化工具、保持 resource.h 一致性、版控回滾是解決之道。

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