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

  • 24745
  • 0
  • C++
  • 2013-05-30

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

今天在弄CI Server卡了很久,因為有個C++的專案在CI Server上建置會有error LNK1123: failure during conversion to COFF: file invalid or corrupt的錯誤。同樣的程式在筆者跟同事的環境是可以建置的,但在CI Server那台就是建置不過,而且很奇怪的是之前的其他專案的建置是會過的,理論上環境應該是OK的。

image

 

用錯誤訊息查閱了一下網路,發現有個說法是本來電腦上有Visual Studio 2010,再將Visual Studio 2012安裝上去就會發生這樣的狀況。原因是因為這樣做會導致C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe這個檔案有錯誤。而筆者今天正好為了讓WPF程式可以正常建置,安裝了Visual Studio 2012在CI Server上,看起來應該是這問題無誤。

 

這邊筆者在屬性的Link頁籤這邊加入/VERBOSE參數,實際的查驗看看。

image

 

再次建置,從輸出視窗這邊看起來果然是cvtres.exe這隻導致Link不過。

image

 

問題確定了就好解決,可以直接上Visual Studio 2010 SP1修正,筆者是比較懶一點直接就將Visual Studio 2012的檔案覆蓋過去了,這樣處理完沒意外的話就可以正常建置了。

 

Link