본문 바로가기

프로그래밍 오류해결

LINK: fatal error LNK1104: 'LIBCD.lib' 파일을 열수 없습니다. 오류 해결법



오늘 프로그래밍을 공부하다가 만난 오류 때문에 제법 오랬동안 고민했다.
프로젝트 옵션에서 디렉토리옵션에서 포함 파일과 라이브러리 파일의 위치를 제대로 추가해놨는지... 그리고 프로젝트 옵션에서 LINK옵션도 꼼꼼히 확인했다..

혹시나 싶어 검색을 이용해 내컴퓨터에 LIBCD.lib 파일을 찾아봤지만, 없었다. 그렇다면 왜 오류가 나는것인가..
해결법과 오류가 나는 법은, 아래와 같다.


.NET 2003으로 넘어오면서 2002까지 지원하던 구 버전의 iostream Library를 더이상 포함하지 않는다고 한다.

- 구 버전 -

  LIBCI.lib    : Single-thread, Static Link   /ML
  LIBCIMT.lib  : Multithreaded, static link   /MT
  MSVCIRT.lib  : Multithreaded, dynamic link  /MD

- 신 버전 -

  LIBC.lib     : Single-threaded, static link  /ML
  LIBCMT.lib   : Multithreaded, static link    /MT
  MSVCRT.lib   : Multithreaded, dynamic link   /MD

파일명에 'I'가 빠져있다.

< 해결책 >

1. 프로젝트 속성 -> 구성 속성 -> 링커 -> 입력 -> 특정 라이브러리 무시에 libci.lib를 포함한다.

2. .NET 폴더에서 libcp.lib를 찾아 같은 폴더에 libci.lib라는 이름으로 복사한다.




6.0 버전으로 프로젝트를 작성했을경우에 VS2005에서 빌드시나타나는 링크 에러인데. 원인은 싱글 스레드용 라이브러리(libc,libcd)가 지원되지 않는다고 한다. 해결 방법은 프로젝트 -> 속성(ctrl+F7) -> 링커탭 ->입력에서 특정라이브러리 무시 부분에 LIBCD.lib를 추가해주면 된다~!!