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

在 CodeProject 上下載了一個 Extended Tree List Control 的source code

不過因為是VC++6 的版本,在編譯時出現了這個錯誤:

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

擷取

找了一下資料,發現是因為  WTL 從低版本轉換到高版本的關係

【 解決方案 】

VS2010在經歷一些更新後,建立Win32 Console Project時會出“error LNK1123” 錯誤

解決方案:在專案上按右鍵 → 專案屬性 → 組態屬性 → 資訊清單工具 → 輸入和輸出 → 內嵌資訊清單 “是”改為“否”即可,但是每新建一個項目都要這樣設置一次。

在建立VS2010 Win32 Project專案時,按照上面解決方案依然發生了“error LNK1123”錯誤,經過上網查資料,解決方案為:

第一步:與上相同。

第二步:在專案上按右鍵 → 專案屬性 → 組態屬性 → 連接器 → 資訊清單檔 → 產生資訊清單 “是”改為“否”。

第三步:一般電腦經過上兩步設置就能解決問題了,但是如果還有問題,那就按一下方法解決:

電腦是否為64bit作業系統,如是,繼續。

查找是否有兩個cvtres.exe。

一個是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe,

另一個是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。

右鍵屬性 → 詳細資訊,查看兩者版本號,刪除/重命名較舊的版本,或者重新設置Path變數。

意外的是,治本的辦法是第三步,刪除舊版本的cvtres.exe後,就不需要每次都設置配置了。

我也是到第三步驟改檔案名稱後才建置成功。

參考資料:http://bbs.csdn.net/topics/390121452?page=1#post-395141076