1. 설명
일반적으로 mfc 에서 프로젝트를 생성하면,
- "Use MFC in a Shared DLL" : 공유 DLL 을 사용 한다.
이렇고 만들어진 실행 파일을 실행 할때는 실행 파일만 필요 한게 아니고,
mfc42d.dll, mfco42d.dll, msvcirtd.dll, msvcrtd.dll 등 DLL 파일이 "system32" 폴더 아래에 있어야 합니다.
또는 컴파일 했던 Visual Sudio 버전에 맞는 RTL 를 설치 해야 한다.
즉 베포 할때 실행파일 및 RTL 도 같이 하고, 설치 하라는 둥 복사하라는 둥 귀찮다 ..
그래서
-"Use MFC in a Static Library" 로 선택 하면
실행 파일 사이즈는 조금(5M 정도) 커지나. 뭐 더 달라고 하지 않아 편하다.
2. 방법
가. VS에서 프로젝트 가져 와서
나 ALT-F7 : Project-Property
Configuration Property - General - Project Default - Use of MFC 에서
"Use MFC in a Static Library" 로 선택
그런데 이것만 하고 컴파일 하면 에러 생긴다.
fatal error C1189:
#error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version.
Please #define _AFXDLL or do not use /MD[d]
라고,
다. 그래서 " /MD[d]" 를 "/MT[d]" 로 바꾸어 준다.
Configuration Property - C/C++ - Code Generation - Runtime Library 에서
"Multi-threaded Debug ( /MTd )" 로 선택
그러면 디버그나 릴리즈 컴파일 할때 에러 없이 된다.
'개발 > mfc' 카테고리의 다른 글
[mfc] ping , icmp 이거 저거, sample source (0) | 2024.02.29 |
---|---|
[mfc] ARP(Address Resolution 주소 확인 Protocol ) 보기 (0) | 2024.02.28 |
[MFC] List control 만들기, 목록 지우기 (0) | 2024.02.20 |
[MFC] Dialog 최소화, 최대화 버튼 만드는 법 (0) | 2024.02.20 |
mfc, enter, esc key 처리 (0) | 2024.02.13 |