window7 64bit 에서도 잘 돌죠 ... 안돌이유는 ...

기본적으로 Microsoft 에서 제공하는 GDI+ 사용에 필요한 Platform SDK 에는 minGW 에서 사용할 수 없는 asm 코드가 들어 있고 , 타 컴파일러를 배려 하지 않는 것들이 많이 들어 있습니다.
그래서 minGW 에서 GDI+ 를 사용하기 위해서는 많은 노가다가 필요한데 , 이를 위해 정리한 소스를 공유하고 자 합니다.
압축을 받아 풀면 포함 내용에 다음 두개의 폴더가 있습니다.
GDIPlus4minGW : minGW 용 GDI+ 헤더 및 라이브러리
miniGW_GDIP01 : GDIPlus4minGW 를 이용한 테스트 어플리케이션

테스트 코드는 CodeBlocks 와 minGW 32bit 로 만들어 졌습니다.
DEBUG 모드와 RELEASE 모두 다르게 세팅 되어 있습니다만, 단지 테스트를 위해 사용해 보는 것이라면 아무 것으로나 빌드 해 보셔도 됩니다.

코드에 보면 윗 부분에 다음과 같이 정의 된 것이 있습니다.

이것은 기본 gdiplus.h 로만 사용이 불가능 해서 제가 맞춘 것이며,
UUID 정의 같은 문제 때문에 initguid.h 와 objbase.h 가 반드시 필요합니다.
이는 minGW 기본 header 에 있는 것들이므로 반드시 넣어 주어야 합니다.
또한 using namespace Gdiplus 를 사용함으로서 Gdiplus::Graphics 와 같은 클래스 정의를 일일히 코드에 두지 않아도 되도록 하였습니다.

기본 GDI 로 뭔가 하는데 어려움이 많으신 분들은 GDI+ 를 이용하시고, GDI+ 에 대한 자세한 설명은 winAPI.co.kr 의 GDI+ 강좌를 추천 드립니다.

감사합니다.
Posted by 견족자K rageworx
  • Favicon of http://jeinu.tistory.com BlogIcon JEINU
    2010.03.02 19:48 신고

    라이브러리를 어떻게 추가하는지 알려주시면 안될까요...?
    code blocks에 MinGW에 src와 lib에 넣었는데 안되네요...
    네이트온 aaa2f2@nate.com 부탁드리겠습니다.

    • Favicon of https://rageworx.pe.kr BlogIcon 견족자K rageworx
      2010.03.02 20:22 신고

      죄송하네요.
      메일로 알려 드려야 할 의무가 저에겐 없는 관계로 ..
      lib 은 build 단위에서 처리 하는 것 입니다.
      프로젝트 lib 에 그냥 넣는다고 빌드가 되지 않습니다.