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



  • VS2012 RC installation breaks VS2010 C++ projects


  • LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt after installing VS2012 release preview


  • LNK1123 error when bulding VC++ 2010 project after installing Visual Studio 2012 or .NET Framework 4.5