본문 바로가기

프로그래밍/MFC

MFC 정적빌드 설정하기 핏 재배포 패키지 걷어내기

반응형


기본적으로 MFC 프로젝트를 만들게되면



위와 같이 "공유 DLL에서 MFC 사용"으로

설정되어 있어요.


이 설정은 무엇이냐?

바로 비주얼스튜디오로 작업된 MFC 프로젝트에 한해서

시스템에 설정되어 있는 DLL을 참조하겠다는 거죠


시스템에 설정되어 있는 DLL을 참조하게 되면

시스템 DLL에 의해서 의존성을 가지게 되나


출력되는 EXE 파일의 용량을 획기적으로 줄일 수 있죠.


다만 시스템 DLL의 영향을 받으므로

Visual Studio 2015 버전을 사용하여 만들었다면


Visual Studio 2015 재배포 패키지 x86, x64 버전을

설치해주셔야 합니다.


아니라면 실행될 때마다 DLL이 없네요..ㅠㅠ 하는 DLL을 찾아다가

system32 경로 또는 sysWow64 경로에 넣어 주셔야 해요



그러므로 전 이런 환경을 무시하고자

"정적 라이브러리에서 MFC 사용"을 선택해서 빌드하기를 선택합니다.



런타임 라이브러리도 다중 스레드(/MT) 도 잊지 마시구요


MFC로 응용 프로그램 개발 시 모든 개발자들은 이 옵션에 대해 

한번 쯤 고민할 것입니다.


EXE 파일에 대한 용량을 줄이고 

설치 시 재배포 패키지를 별도로 설치 할 것인가


난 재배포 패키지 따위 필요 없어

EXE 파일 용량이 커도 상관없어 

나만 잘 돌아가면 되


이런식으로요?


선택은 각자 알아서들 하겠죠 ^.^ 



반응형