2013-04-13 3 views
3

C + 프로젝트 (관리되는 것과 관리되지 않는 것)가 혼합되어 있습니다. unmanaged는 boost와 같은 라이브러리를 많이 사용하고 있습니다. 그것들은 모두 stdafx.h 파일에 포함되어 있습니다. 두 개의 별도의 미리 컴파일 된 헤더 (하나는 managed (stdafx.h)이고 하나는 관리되지 않는 (stdafxManaged.h) 용)를 갖기 위해 노력하고 있습니다. stdasfManaged.cpp에 대한에프리 컴파일 된 헤더 두 개를 사용하는 방법. 하나는 관리 용이고 다른 하나는 비 관리 코드 용입니다. xxx.pch가 유효한 사전 컴파일 된 헤더 파일이 아닙니다.

error C2855: command-line option '/clr' inconsistent with precompiled header

그래서 내가 공용 언어 런타임 지원을 설정 (/ CLR) 다음과 같은 오류를 얻을 : 내 관리되는 코드에서 stdafxManaged.h을 포함하는 방법 이제까지 내가 말하는 오류가 :

error C1852: 'Debug\xxx.pch' is not a valid precompiled header file

여기서 xxx는 프로젝트의 이름이며 프로젝트의 모든 관리되지 않는 .cpp 파일에 대해 오류로 표시됩니다.

누구든지이 오류를 수정하는 방법이나 혼합 코드에 대해 미리 컴파일 된 헤더를 설정하는 방법을 알려주는 자습서에 대한 링크가 있습니까?

+1

내가 아는 한 미리 컴파일 된 헤더는 여러 개 지원되지 않습니다. –

+0

그렇다면 내가 괴롭다. 괴롭다.하지만 .pch 파일 충돌을 설명 할 것 같아. 내가 이것에 대해 더 자세히 알 수있는 곳을 아십니까? –

답변

1

실제로 가능합니다./clr이 .cpp 파일에 대해 활성화되어 있고 미리 컴파일 된 헤더 파일과 미리 컴파일 된 헤더 출력 파일 설정이 모두 일반 stdafx.h 및 $ (TargetName) .pch와 다른지 확인하십시오.