정적 라이브러리에서 MFC 사용
MFC 응용프로그램 배포 시, MFC 사용 방법을 프로젝트 설정에서 설정해준다.
다음과 같이 설정해 주자.
2. 코드 생성
MFC 응용프로그램 배포 시, MFC 사용 방법을 프로젝트 설정에서 설정해준다.
공유 DLL에서 MFC 사용 : 응용프로그램 배포 시 mfc**.dll 파일을 함께 배포.
정적 DLL에서 MFC 사용 : 응용프로그램의 실행 파일에 mfc**.dll 이 포함되어 배포되기 때문에 응용프로그램만 배포.
배포 시 응용프로그램만 배포하는게 관리하기도 편하고 오작동의 가능성도 적기 때문에 "정적 DLL 에서 MFC 사용" 으로 프로젝트를 설정하여 개발하게 된다.
응용프로그램이 DLL 일 경우 위와 같이 설정하면 컴파일 시 다음과 같은 오류 메시지가 발생한다.
fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds
다음과 같이 설정해 주자.
1. 전처리기 정의
C/C++ → 전처리기 → 전처리기 정의
"_AFXDLL" 추가
2. 코드 생성
C/C++ → 코드 생성 → 런타임 라이브러리
Debug 모드일 경우 : "다중 스레드 디버드 DLL(/MDd)" 설정
Release 모드일 경우 : "다중 스레드 DLL(/MD)" 설정