방법: /clr을 사용하여 MFC 및 ATL 코드 컴파일
이 항목에서는 공용 언어 런타임을 대상으로 기존 MFC 및 ATL 프로그램을 컴파일하는 방법에 대해 설명합니다.
/clr을 사용하여 MFC 실행 파일 또는 일반 DLL을 컴파일하려면
솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
프로젝트 속성 대화 상자에서 구성 속성 옆의 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 **공용 언어 런타임 지원(/clr)**으로 설정합니다.
동일한 창에서 MFC 사용이 공유 DLL에서 MFC 사용으로 설정되어 있는지 확인합니다.
구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 디버깅 정보 형식이 /ZI가 아니라 **프로그램 데이터베이스(/Zi)**로 설정되어 있는지 확인합니다.
코드 생성 노드를 선택합니다. 최소 다시 빌드 사용을 **아니요(/Gm-)**로 설정합니다. 또한 기본 런타임 검사를 기본값으로 설정합니다.
구성 속성에서 **C/C++**를 선택한 다음 코드 생성을 선택합니다. 런타임 라이브러리가 다중 스레드 디버그 DLL(/MDd) 또는 다중 스레드 DLL(/MD) 중 하나로 설정되어 있는지 확인합니다.
Stdafx.h에서 다음 줄을 추가합니다.
#using <System.Windows.Forms.dll>
/clr을 사용하여 MFC 확장 DLL을 컴파일하려면
위의 "/clr을 사용하여 MFC 실행 파일 또는 일반 DLL을 컴파일하려면"에 나와 있는 단계를 수행합니다.
구성 속성에서 C/C++ 옆의 노드를 확장하고 미리 컴파일된 헤더를 선택합니다. 미리 컴파일된 헤더 만들기/사용을 미리 컴파일된 헤더 사용 안 함으로 설정합니다.
또는 솔루션 탐색기에서 Stdafx.cpp를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭할 수도 있습니다. 구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 안 함으로 설정합니다.
DllMain과 여기서 호출하는 항목이 포함된 파일의 경우 솔루션 탐색기에서 이 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 안 함으로 설정합니다.
/clr을 사용하여 ATL 실행 파일을 컴파일하려면
솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
프로젝트 속성 대화 상자에서 구성 속성 옆의 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 **공용 언어 런타임 지원(/clr)**으로 설정합니다.
구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 디버깅 정보 형식이 /ZI가 아니라 **프로그램 데이터베이스(/Zi)**로 설정되어 있는지 확인합니다.
코드 생성 노드를 선택합니다. 최소 다시 빌드 사용을 **아니요(/Gm-)**로 설정합니다. 또한 기본 런타임 검사를 기본값으로 설정합니다.
구성 속성에서 **C/C++**를 선택한 다음 코드 생성을 선택합니다. 런타임 라이브러리가 다중 스레드 디버그 DLL(/MDd) 또는 다중 스레드 DLL(/MD) 중 하나로 설정되어 있는지 확인합니다.
모든 MIDL 생성 파일(C 파일)의 경우 솔루션 탐색기에서 이 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 안 함으로 설정합니다.
/clr을 사용하여 ATL DLL을 컴파일하려면
"/clr을 사용하여 ATL 실행 파일을 컴파일하려면" 단원에 나와 있는 단계를 수행합니다.
구성 속성에서 C/C++ 옆의 노드를 확장하고 미리 컴파일된 헤더를 선택합니다. 미리 컴파일된 헤더 만들기/사용을 미리 컴파일된 헤더 사용 안 함으로 설정합니다.
또는 솔루션 탐색기에서 Stdafx.cpp를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭할 수도 있습니다. 구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 안 함으로 설정합니다.
DllMain과 여기서 호출하는 항목이 포함된 파일의 경우 솔루션 탐색기에서 이 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆의 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 안 함으로 설정합니다.