본문 바로가기

프로그래밍

Link Error LNK1123 대처법

LINK : fatal error LNK1123: failure during conversion to COFF:


VS 2008에서 만든 프로젝트를 VS2010으로 빌드시 나는 에러..


검색해보니 메니페스트 생성과정에서 오류라고 나와서 어떨땐 그냥 메니페스트 생성 안함 으로 넘어가는가 했으나..

다른 프로젝트 열다보니 계속해서 같은오류로 링크가 안되는 일 발생.


좀더 검색해보았더니 해외사이트에서 해법 찾음.


http://howtofix.pro/fixedfatal-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-corrupt/



한대의 시스템에 다른 버전의 Visual studio를 여러버전을 깔때.. 

상위버전을 먼저 깔고 하위버전을 깔았을때 프로그램의 종속성에 문제가 생기는 모양.


문제의 원인은 cvtres.exe 라는 녀석인데 이녀석은 

Microsoft (R) Windows Resource To Object Converter 버전 11.00.61030.0

Copyright (c) Microsoft Corporation. All rights reserved.


사용법: CVTRES [options] [files]


   옵션:


      /DEFINE:symbol

      /FOLDDUPS

      /MACHINE:{ARM|EBC|IA64|X64|X86}

      /NOLOGO

      /OUT:filename

      /READONLY

      /VERBOSE

라는 녀석으로 리소스링크할때 쓰는녀석으로 보인다.


링크시 해당 녀석을 이용해 링크를 진행해야하는데 종속성에 관한 문제로 cvtres.exe 자체가 실행이 되질 않아서 생기는 문제이다.


원래 제시한 해법은 .Net Framework 를 언인스톨 했다가 재설치하라는것 같은데 다른방법으로 처리가능..

에러가 난 버전의 VC 폴더에 있는 cvtres.exe 를 지우고 잘 돌아가는 버전의 cvtres.exe 로 복사후 링크하면 된다.


* 참고

Go to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe and check the version of cvtres.exe:

Wrong version:  03/18/2010  01:16 PM            31,048 cvtres.exe

Correct version: 02/21/2011  06:03 PM            31,056 cvtres.exe


If you have wrong version you should go to

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe

and copy cvtres.exe then replace it with

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe