반응형


[프로그래밍/mfc] - 64비트 컴퓨터에 설치된 Visual Studio 2013으로 32비트용 실행파일 컴파일하기



글을 올리고 우연찮게 2015가 나온것을 발견해서.. 똑같이 하려는데 dll 문제가 발생해서(윈도우 8.1에 설치된 system32에 있는 dll로는 인식이 안되서 지난번처럼 dll 사이트에서 따로 32비트용 올려진 걸 다운로드 받으려 했더니 없더군요)


그래서 공유라이브러리가 아닌 정적 라이브러리를 사용하도록 설정해서 컴파일했더니 해결되는 군요...



우선 C/C++ - 코드 생성 - 런타임 라이브러리를 다중 스레드 디버그( /MTd)로 변경해주고...공유 DLL파일을 안쓰니 변경해주어야 합니다.


안바꾸어주면 아래와 같은 에러가 발생합니다.

(참고: http://stackoverflow.com/questions/18692338/win32-project-generating-mfc-error)


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]





아래 플랫폼 도구 집합은 이전 포스팅처럼 XP 옵션을 선택해주면 됩니다.

그리고 MFC사용은 정적 라이브러리에서 MFC 사용으로 변경해주었습니다.



실행파일은 조금 커지지만.. DLL 파일 없이 배포해도 되서 오히려 좋은 듯합니다.

반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. xp 2015.12.04 11:54

    MS에서 배포 방법으로 installshield나 clickonce를 사용하도록 권장하고 있는데
    아시다시피 installshield는 vs가 professional, enterprise이어야 하고,
    clickonce는 clr(managed c++, c#, vb)만 지원을 하더군요. 젠장할...
    vs community로 native c++ application을 가지고 노는 우리는
    타사의 배포용 freeware를 사용하지 않는 이상
    정적library 옵션을 사용하거나 vcredist(재배포 패키지)를 사용하거나
    VC폴더에 있는 해당 공유 dll을 application 폴더에 함께 넣어 주거나 하는 방법 말고는...
    저도 해보니 간단한 application이면 정적이 젤 속 편하더라고요.

  2. Favicon of https://bfeel.tistory.com BlogIcon 비필 2016.02.03 13:25 신고

    2015로 이렇게 만들경우 실행파일 최소용량이 어떻게되나요?

  3. Favicon of https://bfeel.tistory.com BlogIcon 비필 2016.02.03 13:25 신고

    2015로 이렇게 만들경우 실행파일 최소용량이 어떻게되나요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2016.02.03 18:12 신고

      제경우에는 visual studio 6.0에서 200k 정도 되는 실행파일이
      2015로 이 방식으로 컴파일하면 8메가 정도 되더군요

+ Recent posts