2010년 7월 26일 월요일

정적 라이브러리에서 MFC 사용

정적 라이브러리에서 MFC 사용



 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)" 설정







댓글 없음:

댓글 쓰기