본문으로 바로가기

fatal error C1001

category 개발언어/c++ 2017. 1. 2. 17:16

https://support.microsoft.com/ko-kr/kb/236935는 이렇게 설명되어 있다.

Visual Studio 6.0 서비스 팩을 설치한 후 기존 프로젝트 빌드될 때 다음과 같은 오류 메시지가 나올 수 있다.

<..path\filename>(line #) : fatal error C1001: INTERNAL COMPILER ERROR
  (compiler file 'msc1.cpp', line 1794) 
  Please choose the Technical Support command on the Visual C++ 
  Help menu, or open the Technical Support help file for more information.				
원인

컴파일러에서 Visual Studio 6.0 서비스 팩을 설치 하기 전에 만든 미리 컴파일된 헤더 파일을 구문 분석 하는 문제가 있습니다. 컴파일러 서비스 팩으로 업데이트 하 고 새 버전이 원래 컴파일러에서 만든 PCH 파일이 제대로 처리 하지 않습니다.

해결 방법

이전 컴파일러 버전에서 만든 임시 파일을 모두 삭제 합니다.
Visual C++ IDE를 사용 하 여 프로젝트의 임시 파일을 청소 하십시오 프로젝트를 열고 빌드 메뉴에서 정리 를 선택 합니다.

추가 정보

C1001 오류 이외에 다른 현상이 있을 수 있습니다. 증상이 나타나면 확인 되지 않은 요인에 따라 달라 집니다. 다음은 몇 가지는 현상입니다.

  • 다음과 같은 메시지가 나타날 수 있습니다.

    이 프로그램에서 잘못 된 연산을 커밋 되었습니다.

    비슷한 것으로 나올 수 있습니다.

    CL은 0000:000000BF에서 < 알 수 없는 > 모듈에서 잘못 된 페이지 오류 발생

  • Windows 95의 블루 스크린을 얻을 수 있습니다. 이 될 복구 가능한 블루 스크린 보다는 하나를 사용 하면 시스템을 다시 시작 합니다.
  • 오류 Cl.exe 실행 다른 오류가 함께 나타날 수도 있습니다.
  • 모든 경우에 솔루션 컴파일하거나 모든 임시 파일이 먼저 삭제 하지 않고 Visual Studio 6.0 서비스 팩을 설치한 후 응용 프로그램을 구축 하지 하입니다.
    모두 다시 빌드 를 안전 빌드 작업을 수행 하기 전에 임시 파일을 정리 하기 때문입니다.

    그런데 이 방법은 통하지 않는다. 나의 경우 Static Dll Project를 만들면서  DLL안에 Template 를 추가하는 등  작업을 하는 과정에서 이런 문제가 발생했다. 

    다른 해결방법

     Project -> Setting -> C/C++ 탭 -> Category 에서 Precompiled Headers 선택 -> Not Using Precompiled Headers 선택 하고 컴파일을 다시 한다.