강좌와 팁

비주얼 스튜디오로 Win32 단독 실행 파일 만들기 날짜:2020-3-1 11:30:02 조회수:101
작성자 : 소엔
포인트 : 1331
가입일 : 2020-02-02 00:09:14
방문횟수 : 67
글 182개, 댓글 49개
소개 : SoEn 운영자입니다.
작성글 보기
쪽지 보내기
급하게 간단한 유틸리티 하나 만들게 있어 오랜만에 비주얼 스튜디오를 실행했습니다.

Win32로 메인 윈도우 띄우고 컨트롤 붙이고 척척척 코딩은 금방 해 치웠습니다.

역시 오랫동안 했던 것은 오랜만에 해도 잘 된다니깐요.

다 만들어서 메일로 누구한테 보내 줬는데 실행이 안된다는거에요.

MFC도 아니고 Win32로 만든건데 왜 그럴까 생각해 보니 옵션을 하나 빼 먹었어요.

Win32로 만들어도 비주얼 스튜디오로 개발하면 런타임 DLL을 쓰도록 컴파일되는데

단독 실행 파일을 만드려면 옵션을 좀 조정해 줘야 합니다.

프로젝트 속성 대화상자 열고 구성/C/C++/코드 생성 페이지의 런타임 라이브러리 옵션을

디버그는 다중 스레드 디버그(/MT)로 릴리즈는 다중 스레드(/MT)로 변경합니다.

사실 디버그 버전을 배포하지는 않으니 릴리즈만 잘 바꿔 주시면 됩니다.



이 옵션의 원래 디폴트는 다중 스레드 DLL인데 그래서 DLL을 요구하는 겁니다.

구성/링커/입력/특정 기본 라이브러리 무시 항목은 비워 두면 됩니다.

이렇게 만든 Win32 프로그램은 exe만 배포해도 잘 실행됩니다.

맨날 잊어 버려서 여기에 팁으로 남겨 둡니다.



 



개발자의 천국 SoEn

목록보기 삭제 수정 신고 스크랩

Program 3월3일 2:30:59  

예전에 MFC를 잘 몰라서 Win32로만 프로그램을 만들때는
MFC를 모르지만 Win32가 굉장히 프로그래밍에 있어 자유가 있다는 것을 느꼈습니다.
즉 내가 기능을 넣고 싶은 것이 있으면 마음대로 자유자재로 넣을 수 있다는 느낌이 있어
참 좋았습니다. 그러다가 약간 우연히 MFC를 공부하면서 알게되어 MFC로 프로그래밍을 하였는데
역시 자유도가 좀 많이 떨어지는 느낌이 들어 처음에는 많이 불편하여 기분이 안 좋았습니다.
그래도 하나씩 배워나가면서 나름대로 MFC프로그래밍을 하다 보니 어느 순간이 지나니
이제는 MFC가 많이 편하고 훨씬 빨리 개발이 된다는 느낌을 받았습니다. 시간이 더 흐르니
이제 Win32를 많이 까먹어서 MFC만 사용하게 되었는데..

말씀하신 Win32단독 실행파일이 예전에 내가 할때는 아예 그런 세팅이 없었는데...
하여튼 세팅변경한 기억이 없는데 ...
전혀 기억이 나지 않습니다. 다만 MFC로 할때 단독 실행파일을 만들려면 공유DLL를 선택하지 않고
단독 실행 가능 옵션을 주는 것은 알고 있는데..
이것 모르면 참 난감하죠
아무튼 단독 실행파일문제가 Win32와 MFC에 공통으로 있다는 것을 이기회에 알았습니다.
감사합니다

소엔 3월4일 3:46:46  

Win32는 원래 공유 DLL이 없었던 것이 맞습니다.
예전에는 Win32로 개발하면 항상 어느 윈도우에서나 잘 실행되었습니다.
그러다가 어느날부터 VC 런타임 함수를 DLL로 제공하기 시작하더니 디폴트를 공유 DLL로 바꿔 버렸습니다.
그래서 단독 실행 파일로 만들려면 옵션을 조정해야 하는 불편함이 생겼지요.
VC 런타임은 크기도 작은데 왜 굳이 DLL을 디폴트로 해 놨는지 좀 아쉬운 부분입니다.
불과 100K도 안되는 크기로 EXE 파일 딱 하나만 배포하면 되는 간편함이 Win32의 장점이거든요.
옵션 조정해서라도 어디서나 실행되는 프로그램이 나온다는 점은 참 좋습니다.


로그인하셔야 댓글을 달 수 있습니다.