나는 주로 비쥬얼스튜디오를 사용하여 프로그램 소스코드를 작성하고 컴파일 하곤한다.
Release모드로 변경하여 컴파일한경우 Debug 모드에서는 잘되던 것이 오류가 발생하였다..
안녕하세요.. __);
먼저 릴리즈/디버그 모드의 차이가 아닙니다...
네이버에서 얻으셨다는 답변은 잘못된 답변입니다.
MFC 프로그램의 경우 "공통적으로 자주 사용되는 라이브러리 함수"를 공용 DLL로 만들어 놓고 제공을 하고 있습니다.
이렇게 할 경우 실행파일내에 "공용 라이브러리 코드"가 포함되지 않기 때문에 실행파일의 크기가 줄어드는 장점이 있으나..
님께서 올리신 질문대로 저 "공용 DLL"이 설치되지 않은 PC에서는 문제를 일으키게 됩니다.
디버그 모드는 릴리즈모드에 디버깅을 위한 보조 코드가 추가된 상태로 바이너리를 작성하는 것일 뿐이므로 이 문제와는 전혀 관계가 없습니다.
디버그용 공용 DLL : mfcXXud.dll , msvcpXXd.dll, msvcrXXd.dll 등
릴리즈용 공용 DLL : mfcXXu.dll, msvcpXX.dll, msvcrXX.dll 등
(XX는 VC의 버전에 따라 달라집니다.)
이 문제를 해결하시기 위해선
프로젝트의 속성창을 엽니다 -> MFC의 사용메뉴의 "공용 DLL 사용" 을 -> 스태틱 라이브러리로 MFC 사용으로 변경합니다.
이렇게 되면 공용 DLL의 내용을 실행파일내에 포함하므로 실행파일 사이즈는 커지나 DLL 문제는 사라집니다.
배포시에는 릴리즈 모드, 스태틱 라이브러리 사용으로 배포하는 것이 좋습니다.
그럼 .. 즐프되십시요.. __);