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에서 < 알 수 없는 > 모듈에서 잘못 된 페이지 오류 발생
모든 경우에 솔루션 컴파일하거나 모든 임시 파일이 먼저 삭제 하지 않고 Visual Studio 6.0 서비스 팩을 설치한 후 응용 프로그램을 구축 하지 하입니다.
모두 다시 빌드 를 안전 빌드 작업을 수행 하기 전에 임시 파일을 정리 하기 때문입니다.
그런데 이 방법은 통하지 않는다. 나의 경우 Static Dll Project를 만들면서 DLL안에 Template 를 추가하는 등 작업을 하는 과정에서 이런 문제가 발생했다.
다른 해결방법
Project -> Setting -> C/C++ 탭 -> Category 에서 Precompiled Headers 선택 -> Not Using Precompiled Headers 선택 하고 컴파일을 다시 한다.
'개발언어 > c++' 카테고리의 다른 글
MFC 다수의 컨트롤 메지시를 한꺼번에 처리하기(Handlers for Message-Map Ranges) (0) | 2017.08.07 |
---|---|
Serialization: Serialize 가능한 클래스 만들기 (0) | 2017.08.05 |
afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include (0) | 2017.01.02 |
상속된 템플릿 클래스의 연산자 오버로딩(Operator Overloading) (0) | 2016.11.21 |
MSFlexgrid in VC++ (0) | 2016.11.18 |