[Visual Studio]컴파일 시 fatal error LNK1123 에러(속성 설정이용 해결)
[발생 현상]
Visual Studio 2015가 설치된 상태에서 2010 Express C++을 설치함.
검색을 해 보니 상위 버전을 설치 한 후에 버전이 낮을 것을 설치했을 때, 발생하는 것 같습니다.
Comfile시 아래 에러가 발생
[에러 메세지]
fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
[원인]
MS 홈페이지를 참조해 보니,
COFF(Common Object File Format : 공통 객체 파일 형태)이라는 파일 형식이 있네요.
우리가 작성한 파일이 COFF의 형태가 아닐 경우,
Linker(링커)라는 친구가 동작하거나,
또는 파일을 바꿔주기 위해 CVTRES.EXE 파일을 실행한다고 합니다.
하지만 자신이 원하는 COFF 형태로 바꿀 수 없었다라는 메세지네요.
왜? 갑자기 이런 게 발생하는지?
우리의 개발 도구인 Visual Studio가 다른 버전이 설치되어 그 중의 CVTRES.EXE라는 파일이 있는데
내가 원하는 것이 파일의 버전이 적합하지 않는 것이 사용될 때, 발생할 수 있다고 합니다.
좀 더 자세한 설명이 있지만... 자세한 내용은 아래의 사이트를 참조해 주세요.
https://msdn.microsoft.com/en-us/library/7dz62kfh.aspx 참조
[해결]
여러가지 방법이 위의 사이트에 적혀 있습니다만,
저는 아래 방법으로 해결이 가능하여 확인한 방법을 공유합니다.
(가) 자신이 만든 해당 프로젝트 선택 후, 마우스 오른쪽 버튼 선택하여 속성(Properies)를 선택.
(나) Manifest Tool(매니페스트 도구) -> Input and Output(입력 및 출력) -> Embed Manifest 의 값을 No 로 변경
이미지 참조
(에러 이미지)
(가) 자신이 만든 해당 프로젝트 선택 후, 마우스 오른쪽 버튼 선택하여 속성(Properies)를 선택.
저의 경우 Temp 프로젝트 이름이지만, 만든 프로젝트에 따라 Temp가 아닌 다른 프로젝트가 될 수 있습니다.
(나) Manifest Tool(매니페스트 도구) -> Input and Output (입력 및 출력) -> Embed Manifest 의 값을 No 로 변경
이렇게 한 후, 아래 적용 버튼을 누르고 확인을 눌러줍니다.
이후 컴파일을 하면 정상적으로 실행되는 것을 확인해 볼 수 있네요.^^
그러면 열공 화이팅 하세요^^
하나님이 세상을 이처럼 사랑하사 독생자를 주셨으니 이는 그를 믿는 자마다 멸망하지 않고 영생을 얻게 하려 하심이라(요3:16)