다음을 통해 공유


방법: /clr을 사용하여 MFC 및 ATL 코드 컴파일

이 항목에서는 공용 언어 런타임을 대상으로 기존 MFC 및 ATL 프로그램을 컴파일하는 방법에 대해 설명합니다.

/clr을 사용하여 MFC 실행 파일 또는 일반 MFC DLL을 컴파일하려면

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음, 속성을 클릭합니다.

  2. 프로젝트 속성 대화 상자에서 구성 속성 옆에 있는 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 공용 언어 런타임 지원(/clr)으로 설정합니다.

    동일한 창에서 MFC 사용이 공유 DLL에서 MFC를 사용하도록 설정되어 있는지 확인합니다.

  3. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 디버그 정보 형식이 /ZI가 아닌 Program Database /Zi로 설정되어 있는지 확인합니다.

  4. 코드 생성 노드를 선택합니다. 최소 다시 빌드 사용을 아니요(/Gm-)로 설정합니다. 또한 기본 런타임 검사를 기본값으로 설정합니다.

  5. 구성 속성에서 C/C++를 선택한 다음, 코드 생성을 선택합니다. 런타임 라이브러리다중 스레드 디버그 DLL(/MDd) 또는 다중 스레드 DLL(/MD)로 설정되어 있는지 확인합니다.

  6. Stdafx.h에서 다음 줄을 추가합니다.

    #using <System.Windows.Forms.dll>
    

/clr을 사용하여 MFC 확장 DLL을 컴파일하려면

  1. "/clr을 사용하여 MFC 실행 파일 또는 일반 MFC DLL을 컴파일하려면"의 단계를 따릅니다.

  2. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 미리 컴파일된 헤더를 선택합니다. 미리 컴파일된 헤더 만들기/사용을 미리 컴파일된 헤더사용하지 않도록 설정합니다.

    또는 솔루션 탐색기 Stdafx.cpp를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 없음으로 설정합니다.

  3. DllMain 및 DllMain이 호출하는 모든 항목이 포함된 파일의 경우 솔루션 탐색기 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 없음으로 설정합니다.

/clr을 사용하여 ATL 실행 파일을 컴파일하려면

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  2. 프로젝트 속성 대화 상자에서 구성 속성 옆에 있는 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 공용 언어 런타임 지원(/clr)으로 설정합니다.

  3. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 디버그 정보 형식이 /ZI가 아닌 Program Database /Zi로 설정되어 있는지 확인합니다.

  4. 코드 생성 노드를 선택합니다. 최소 다시 빌드 사용을 아니요(/Gm-)로 설정합니다. 또한 기본 런타임 검사를 기본값으로 설정합니다.

  5. 구성 속성에서 C/C++를 선택한 다음, 코드 생성을 선택합니다. 런타임 라이브러리다중 스레드 디버그 DLL(/MDd) 또는 다중 스레드 DLL(/MD)로 설정되어 있는지 확인합니다.

  6. MIDL에서 생성된 모든 파일(C 파일)에 대해 솔루션 탐색기 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 없음으로 설정합니다.

/clr을 사용하여 ATL DLL을 컴파일하려면

  1. "/clr을 사용하여 ATL 실행 파일을 컴파일하려면" 섹션의 단계를 따릅니다.

  2. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 미리 컴파일된 헤더를 선택합니다. 미리 컴파일된 헤더 만들기/사용을 미리 컴파일된 헤더사용하지 않도록 설정합니다.

    또는 솔루션 탐색기 Stdafx.cpp를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 없음으로 설정합니다.

  3. DllMain 및 DllMain이 호출하는 모든 항목이 포함된 파일의 경우 솔루션 탐색기 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 구성 속성에서 C/C++ 옆에 있는 노드를 확장하고 일반을 선택합니다. 오른쪽 창의 프로젝트 기본값 아래에서 공용 언어 런타임 지원을 사용하여 컴파일을 공용 언어 런타임 지원 없음으로 설정합니다.

참고 항목

혼합형(네이티브 및 관리) 어셈블리